On Mon, Dec 15, 2003 at 01:48:39AM -0500, George Schlossnagle wrote: > >>interface Stringable { > >> public function toString(); > >>} > >> > >>And that way extensions and user code both can decide if they want to > >>give special treatment to objects that implement Stringable. > > > >I think that's reasonable, although I think it's generally useful for > >all objects to implicitly implement 'Stringable' (in the same way that > >they all implement "Cloneable", via the __clone() method, today). > > Well, the whole discussion (from my point of view) revolved around not > wanting to cast objects to strings in arbitrary contexts, even if they > had a __toString() method. You can use an interface to signify that > not only do you implement the necessary helpers to represent yourself > as a string, but also that that _is_ the behavior that you want, That > seems useful to me (would solve Adam's problems, I think), but only if > classes don't implement that by default.
I agree. If a class doesn't define a __toString() method, then the casting functionality won't be available. For the record, I'm cool with your interface proposal, too, as long as it becomes a "standard" interface (i.e. it's a stock PHP interface). -- 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