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