If you are going to create an interface, the most
reasonable way of implementing that, is by not doing
so much magic, and only permit the cast explicitly
using (string)$obj for objects that implements the
interface Stringable.

So problems like:

        return $someobject . "";

    could be solved by using:

        return (string)$someobject;

The same reflects on Jonīs example:

 function printException($e)
    {
        if (is_object($e) && method_exists($e,
'__toString')) {
            print $e->__toString();
        } else {
            print $e;
        }
    }

could just be:

    function printException($e)
    {
        print (string)$e;
    }

Marc.

__________________________________
Do you Yahoo!?
Free Pop-Up Blocker - Get it now
http://companion.yahoo.com/

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

Reply via email to