It sounds interesting and an improvement from previous versions.

However, I'd like to see some tutorials putting this to work. When do
you use those things, how can they be applied to improve your
templates and/or code etc...

What PHPTal lacks is this kind of documentation - the manual is fine,
but there are no hands-on-tutorials available.

Wednesday, September 16, 2009, 1:41:30 AM, you wrote:

> I think I've finally figured out decent design for filters in PHPTAL!

> Implementation is not finished yet! But have a look at the source of  
> PHPTAL/PreFilter.php:


> There's base abstract class for prefilters. Previously you had to  
> implement interface, now you'll have to extend the class. This change
> allows me to add new ways of filtering in the future without any  
> breaking changes in the interface.

> The class has methods like filterDOM($node), filter($source) — you  
> just override which ones you want. You can override all of them at  
> once if you need, all will be called.

> DOM version lets you edit PHPTAL DOM nodes after they've been parsed  
> and edit exactly what PHPTAL "sees".

> There's also filterDOMFragment($node) method. I plan to add  
> phptal:filter="name_of_the_filter" attribute, which will let you apply
> filters selectively, e.g. (this is not implemented yet)

> <ul phptal:filter="remove_whitespace">
> <li>IE hates newlines in lists</li>
> </ul>

> <script phptal:filter="minify_javascript">
> etc.
> </script>

> I've replaced PHPTAL->setPreFilter($filter) with PHPTAL->addPreFilter 
> ($filter, $name = null). Yes, this means you can have any number of  
> filters without workarounds (finally! :)

> I wonder if there should be separate method for adding named  
> prefilters for use with phptal:filter only? (e.g. you might want to  
> make JS minification prefilter available, but you don't want to minify
> entire file). Currently I expect this to be handled within filter,  
> i.e. filter would implement filterDOMFragment() only, and have  
> filterDOM() do nothing.

> Is that easy to use? Powerful enough? What do you think?

PHPTAL mailing list

Reply via email to