Re: [SMARTY-DEV] Re: object support
| From: | Monte Ohrt | Date: | Fri, 10 Jan 2003 15:36:43 +0000 |
| Subject: | Re: [SMARTY-DEV] Re: object support | ||
| References: | 1 2 | Groups: | php.smarty.dev |
| Request: | Send a blank email to php-smarty-dev+get-515@lists.php.net to get a copy of this message | ||
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>