Hello there,

I don't have enough time to write more detailed example, but I still want to
write my opinion.

I totally agree with Stanislav, because for me magic functions should be
used in last leaf of some class extend tree. They are some kind of feature
when you are producing the non-framework, specific project coding stuff.
Which mean they should be not encapsulated and invisible.

If a developer never intends on a user calling $obj->__set(...), then it
> should be allowed that the public call to that method be disallowed, but
> still allow the magic functionality (b/c of the presence of that magic
> function.)
>

Giving the "user" ability to call $obj->__set() is just some kind of speed
optimization, you just miss the magic thing. Another point of view is that
this __set() is still a function why you want to disable the function calls
and enable the functionality? B/c of the presence of that magic function?
What a drama! This is not fairy world where magic should be wonderful thing
which just happens. Think of us (developers) as wizards, who know how/why
this magic works!

Nothing personal just some thoughts.

Regards, Dimitar Isusov

Reply via email to