Re: Re: [ZEND-ENGINE-CVS] cvs: ZendEngine2 / zend_API.c
| From: | Wez Furlong | Date: | Mon, 01 Dec 2003 14:26:52 +0000 |
| Subject: | Re: Re: [ZEND-ENGINE-CVS] cvs: ZendEngine2 / zend_API.c | ||
| References: | 1 2 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-5877@lists.php.net to get a copy of this message | ||
I favour a), if you mean that (string)$com_object will work.
I'm not so bothered with userspace objects.
b) is just wrong for overloaded objects; if we do some magic
and either hide an existing __toString() method, or call one
with the wrong parameters (it might implement one differently
to the way that we expect), then we end up in trouble.
--Wez.
> I think there are two options:
> a) Revert the cast operator patch and don't support automatic string
> conversion by PHP objects (i.e. allowing overloading extensions to support
> it). But you still shouldn't expect automagical conversions when passing
> COM objects to functions which accept strings as a parameter.
> b) Add a __toString() C API function and make $obj->__toString() call
that.
> It would mean that your COM example would look like
> serialize($com_object->__toString()).
>
> Personally, I prefer (b) but I think I can live with both.
> Note: In both cases you won't have automatic conversions.
>
> Andi
>
>
>