Мой вопрос довольно прост, вот контекст:
http://php.net/manual/en/language.oop5.magic.php
Магические методы
Имена функций
__construct()
,__destruct()
,__call()
,__callStatic()
,__get()
,__set()
,__isset()
,__unset()
,__sleep()
,__wakeup()
, __toString(), __invoke(), __set_state() и __clone() являются волшебными в классах PHP. У вас не может быть функций с такими именами ни в одном из ваших классов, если вы не хотите, чтобы с ними была связана магическая функциональность.PHP резервирует все имена функций, начинающиеся с __, как магические. Не рекомендуется использовать имена функций с __ в PHP, если только вы не хотите задокументировать магическую функциональность.
Я понимаю, для чего нужны эти методы и как их использовать. Чего я не понимаю, так это:
... если вам не нужна документированная магическая функциональность.
Что это хотя бы значит? Существуют ли фактические причины для создания определяемого пользователем __magicMethods()
?
__namingConvention
и каким-то образом он унаследует или иным образом задокументирует некоторые магические функции. Это действительно может быть катастрофой, я удивлен, что они прямо не запрещают это или, по крайней мере, явно не поощряют это. Скорее, это просто рекомендация не использовать его. - person Wesley Murch   schedule 14.03.2012