Hi again,

On Fri, Dec 2, 2016 at 4:19 PM, Alex Bowers <bowersb...@gmail.com> wrote:

> I don't see how the interface is equivalent.
>
> The benefit of this, is that you can convert types passed into a method to
> the type you expect automagically, Castable wouldn't allow that, only a new
> magic method (or reflection and user land code possibly?) would allow this.
>

A magic method is essentially an implicit interface ...
The interface itself does nothing. But when it is implemented, the engine
will know that the class constructor is public and accepts a single
parameter - thus, also knowing that it could try to do a new
ClassName($yourParameterHere)


>
> As for the limitation of only one parameter being accepted, what would the
> other possible parameters be?
>
> Since this is based entirely on the casted variable, there can only
> possibly be one variable there, the one passed into that position in the
> functions arguments.
>
>
What I meant is - you cannot cast to a class that requires more than one
dependency to be instantiated - that's the obvious limitation.


> Arguably, this feature would resolve some bugs in peoples code, because it
> can allow better enforcing of types.
>

It enables magic behavior, that's the opposite of enforcement ... If you
want to enFORCE something, you force the developer to do something, you
don't auto-magically do the thing for them.

P.S.: I suppose you've hit "Reply" instead of "Reply All"? I was the only
recepient of the message I'm quoting.

Cheers,
Andrey.

Reply via email to