Hi,

This does not seem like a good way for me ...
Think about combining many scripts.

It's for example quite usual to use Symfony and parts of Zend Framework
together. Think about what will happen if the one framework uses another
autocast logic ...

Bye
Simon

2012/2/27 Anthony Ferrara <ircmax...@gmail.com>

> 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
>
>

Reply via email to