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
-- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php