Re: [SMARTY] Calling object methods
boots <[email protected]>
| Newsgroups | gmane.comp.php.smarty.general |
|---|---|
| Message-ID | <[email protected]> |
You are correct in pretty much every statement. Yes: it would break template compatibility -- but that's what people tend to care about; a new 3.x version written in PHP5 is the current plan that I am aware of while the 2.x series would continue to be maintained for PHP4 users (which also suggests that putting PHP5 only features in the 2.x series is not of the highest benefit). Never-the-less, I take exception to one statement: Smarty is not broken for PHP5. It simply doesn't support everything that PHP5 can do which is very different than being broken. Best, xo boots --- Joe Stump <[email protected]> wrote: > Wait. I'm confused. {$foo->bar()->display()} would break backwards > compatibility, but rewriting Smarty for PHP5 wouldn't? Plus, how > would allowing for {$foo->bar()->display()} break Smarty's ability to > > run on PHP4? It would only break that template's ability to run on > PHP4. > > I see a few solutions here: > > 1.) Just make it so Smarty can handle PHP5 dereferencing. This would, > of course, break the templates (again, not Smarty itself), if they > were ran under PHP4. > > 2.) Have two versions of Smarty (2.x is PHP4, 3.x is PHP5). I'm sure > this is probably already in progress to some degree (PHPUnit and > phpDocumentor both have dual versions out right now). > > The fact still remains - Smarty is broken under certain circumstances > for PHP5. To get around this problem you will have to do the > following: > > {assign var="bar" value=$foo->getClass()} > {$bar->display()} > > --Joe -- Smarty General Mailing List (http://smarty.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php