Re: Re: [ZEND-ENGINE-CVS] cvs: ZendEngine2 / zend_API.c
| From: | Andi Gutmans | Date: | Sat, 29 Nov 2003 23:08:33 +0000 |
| Subject: | Re: Re: [ZEND-ENGINE-CVS] cvs: ZendEngine2 / zend_API.c | ||
| References: | 1 2 3 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-5841@lists.php.net to get a copy of this message | ||
At 11:59 AM 11/28/2003 -0500, Adam Maccabee Trachtenberg wrote:
On Fri, 28 Nov 2003, Andrei Zmievski wrote: On Thu, 27 Nov 2003, Marcus Boerger wrote:Wrong. __toString() isn't supposed to work in every case the engine expects a string. You'd probably also want $obj[3] to work as a string offset? In this case, maybe we should rename __toString to __toPrintable, because I think Marcus' patch is asking for trouble. AndiConvert objects to string if string is required by newer parameterparsingsince we do this for older parameter parsing does so too.Do you really think this is necessary? I can see the automatic object->string casting being useful for things like print(), but when a extension author expects a string, would it make sense to make the object convert itself? I mean the result will most likely be some internal object info represented as a string, and not something meaningful. This is needed for SimpleXML. It's an object pretending to be a set of strings. You've got to be able to things like: htmlentities($xml->element); You can't do that currently because htmlentities() complains that you're passing in an object. As far as I'm concerned, if you don't want your object to be auomatically cast to a string, you shouldn't provide a __toString() method.