On Sun, Nov 30, 2003 at 01:08:33AM +0200, Andi Gutmans 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.
Python goes as far as to define two special methods for representing
objects as strings:
__repr__( self)
Called by the repr() built-in function and by string conversions
(reverse quotes) to compute the ``official'' string representation
of an object. If at all possible, this should look like a valid
Python expression that could be used to recreate an object with
the same value (given an appropriate environment). If this is not
possible, a string of the form "<...some useful description...>"
should be returned. The return value must be a string object. If a
class defines __repr__() but not __str__(), then __repr__() is
also used when an ``informal'' string representation of instances
of that class is required.
This is typically used for debugging, so it is important that the
representation is information-rich and unambiguous.
__str__( self)
Called by the str() built-in function and by the print statement
to compute the ``informal'' string representation of an object.
This differs from __repr__() in that it does not have to be a
valid Python expression: a more convenient or concise
representation may be used instead. The return value must be a
string object.
--
Jon Parise ([EMAIL PROTECTED]) :: The PHP Project (http://www.php.net/)
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php