On Dec 15, 2003, at 1:09 AM, Andi Gutmans wrote:
At 08:35 PM 12/14/2003 -0500, Jon Parise wrote:On Sun, Dec 14, 2003 at 03:41:10PM +0100, Sebastian Bergmann wrote:
> > It is supported by "print" and for internal extensions such as > > SimpleXML which require this. > > How is it supported by "print" when > > print $defect->thrownException() > > does not work but the object returned from thrownException() has a > __toString() method?
Hopefully, this still works (don't have a recent PHP5 build to try):
print (string)$defect->thrownException();
The explicit cast also addresses this case:
print (string)$defect->thrownException() . "\n";
Nope. How is it different or nicer than doing $defect->thrownException()->__toString()?
It saves you 4 characters?
If it doesn't do anything 'magical', why bother with the __? If you always have to call it manually, it should be an interface:
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.
George
-- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php