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

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Reply via email to