Re: [SMARTY-DEV] Re: object support

From: Date: Fri, 10 Jan 2003 16:42:26 +0000
Subject: Re: [SMARTY-DEV] Re: object support
References: 1 2 3 4  Groups: php.smarty.dev 
Request: Send a blank email to php-smarty-dev+get-518@lists.php.net to get a copy of this message
The only downside I see of a custom function is (aside from tedious syntax), you don't have the ability to use an object method directly as a parameter: {myfunc var=$foo->bar("blah")} instead you have to do a couple steps: {object name="foo->bar" p1="blah" assign="myobj"} {myfunc var=$myobj} On Fri, 2003-01-10 at 10:09, André Rabold wrote: > NO! :-) Just a joke, sure it's acceptible. ;) > > Thanks, > André > > > "Monte Ohrt" <monte@ispi.net> schrieb im Newsbeitrag > news:1042213003.12485.15.camel@lena.ispi.prv... > > If we provide a way to enable, we have to support it and document it, > > which leads to more syntax support. I left the more complete object > > regex commented out in the code. > > > > I'm kind of up in arms about the whole object support. It is nice, yet > > it potentially opens a can of worms. > > > > Currently, Smarty supports access to object properties: > > > > {$smarty->foo} > > > > but not methods: > > > > {$smarty->foo($bar)} > > > > For methods, you'll have to use a custom function. acceptible? > > > > Monte > > > > > > On Fri, 2003-01-10 at 03:50, André Rabold wrote: > > > Why not adding a configuration flag to Smarty to enable/disable object > > > support. The way you do it now (if I uncomment the object functionality > in > > > CVS) works great. Even if you stop supporting objects officially, it > would > > > be easy to enable it if I want it. Now I always have to uncomment it :-/ > > > > > > Thanks, > > > André > > > > > > > > > "Monte Ohrt" <monte@ispi.net> schrieb im Newsbeitrag > > > news:1041979890.30944.46.camel@lena.ispi.prv... > > > > I haven't heard much feedback on the object support. I'm leaning > toward > > > > not supporting any new syntax for it. A new syntax only complicates > the > > > > engine IMHO, and warrants further complications later. If you want > > > > objects, you'll have to use a custom function (which may get included > > > > with the distribution.) > > > > > > > > so object access could look something like this (no decisions made > yet): > > > > > > > > {object name="foo" method="bar"} > > > > > > > > If you want to use an object's output as a variable, you'd have to > > > > assign it first: > > > > > > > > {object name="foo" method="bar" assign="output"} > > > > {myfunc arg1=$output} > > > > > > > > parameters to objects will have to be handled somehow, maybe just > > > > arbitrarily... name, method, and assign are reserved, all else treated > > > > as parameters? > > > > > > > > {object name="foo" method="bar" p1="foobar1" > > > > p2="foobar2" ...} > > > > > > > > > > > > > > > > The alternative is to support object syntax: > > > > > > > > {$obj->meth($p1,$p2,"p3")} > > > > > > > > > > > > This can get pretty messy, especially if you want support for things > > > > like objects as parameters to objects, PHP functions as parameters, > > > > objects within objects, etc. I think I'd rather leave this out and > only > > > > support a limited access method via a custom function (or limited to > > > > your own concoction of custom functions or pre/post filters.) > > > > > > > > Monte > > > > > > -- > > Monte Ohrt <monte@ispi.net> > > -- Monte Ohrt <monte@ispi.net>

« previous php.smarty.dev (#518) next »