On Sat, May 4, 2013 at 5:31 PM, Oleku Konko <oleku.ko...@yahoo.com> wrote:
> Quick Observations : > > I had this issue ( > http://stackoverflow.com/questions/16375331/increment-on-tostring ) and > it kept me thinking why no error was returned, then i stumble up this RFC : > https://wiki.php.net/rfc/object_cast_to_types > > The patch is basic , simple and working and it should > be seriously considered in 5.5. I want to believe if > https://github.com/php/php-src/pull/334 can make it to PHP 5.5 then we > should give object_cast_to_types the same opportunity except they are > string objections why it should not be so > I don't think that this would be particularly useful and as such I don't think we need it. The idea of doing some meaningful operation when writing $obj + 1 is nice, but only if you have actual operator overloading and can compute the result of that expression yourself. If you don't have this possibility and only get to cast $a to an integer/float, then the whole thing becomes rather useless. The only thing it could be used for are thin wrappers around integers/floats and I don't see why one would want to do such a thing (especially as you get back a number and *not* a wrapper object). Thus, __toScalar(), __toInt(), __toFloat() seem pretty useless. The only thing that might have some merit is __toArray(). But there again, I'm not really sure what it gives us. After all we already have Traversable and ArrayAccess, so we can already make an object behave pretty much like an array. Nikita