I fail to see how you would do it via a register function... Unless you mean a call-chain of callbacks to try to "cast" with a "from" and a "to" parameter:
spl_autocast_register(function($from, $to) { if ($to == 'Integer') { return new Integer((int) $from); } }); That could have extreme performance penalties, as every callback in the chain (at least up to a valid cast) would then need to be called for every single cast operation. Not to mention that you're now externalizing where the cast happens into a non-obvious and non-extendable spot (meaning that you're removing the possibility of modifying behavior via polymorphism)... I prefer the concept of binding the cast operations (two, for symmetry) to the class itself, as it localizes the functionality to that class, and is quite predictable and extendable. If I missed the point you were trying to make, please elaborate. Thanks, Anthony 2012/2/26 Ángel González <keis...@gmail.com>: > I just realised that if it were going to add magic casting, it could as well > be done with a spl_autocast_register(), so that you could either cast things > when they match, throw an exception, etc. (there should be some default > value dynamic typing, so the perfomance wouldn't hurt) . > > I don't think that's the perfect solution, though. > -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php