Как расширить функционал базового класса без наследования? Аналог prototype из JS.

  • Автор темы Автор темы alekciy
  • Дата начала Дата начала

alekciy

Новичок
Как расширить функционал базового класса без наследования? Аналог prototype из JS.

Собственно вопрос. Как в PHP_V5 можно расширить функционал базового класса без создания классов потомков? Интерфейсы это вроде через наследование...

В общем вопрос сводится к вопросу, если ли в PHP аналог функции prototype из JavaScript который бы позволил расширить функционал некоего класса без наследования? Т.е. что бы можно было написать некий метод, указать, что он является расширением к некоему классу и потом его включать в те скрипты, в которых этот метод нужен, а в коде создавать экземпляр базового класса и использовать для него этот новый метод.
 
можно канешно извратится:
__сall, create_function, className::myRegisterFunction
+ немного бубна (:

но лучше не надо (: костыли имеют свойство ломацо (:
 
Мда... жаль, что это нет, полезная ведь штука. Может в 6-ой версии реализуют?
 
alekciy
у JS модель ООП существенно иная, чем в большинстве других языков, там классов собственно и нету, а есть объекты и прототипы. Поэтому ожидать появление подобных механизсов в PHP6 по-моему бесполезно.

И потом, не пытайтесь писать на одном языке так, как привыкли на другом. Каждый подход к модели ООП имеет свои сильные и слабые стороны, и надо писать используя по максимуму сильные, а не думать как реализовать то, что я привык делать где-то в другом месте.
 
Еслі я правільно понял:

http://www.php.net/manual/ru/ref.classkit.php
 
Автор оригинала: dimagolov
alekciy
у JS модель ООП существенно иная, чем в большинстве других языков, там классов собственно и нету, а есть объекты и прототипы. Поэтому ожидать появление подобных механизсов в PHP6 по-моему бесполезно.

И потом, не пытайтесь писать на одном языке так, как привыкли на другом.
А я и не пытаюсь. Но развитие любого языка предполагает кроме появления новых фич в языке еще и заимствование лучших сторон других языков. И в этом отношении это было бы хорошее, имхо, заимствование.
 
Сверху