Re: Re: [ZEND-ENGINE-CVS] cvs: ZendEngine2 / zend_API.c

From: 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:
Convert objects to string if string is required by newer parameter
parsing
since 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.
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. Andi

« previous php.internals (#5841) next »