@niksamokhvalov
Веб-разработчик

Динамическая подмена методов класса, возможно ли?

Разрабатываю опенсорсную библиотеку. Необходимо без модификации кода класса (без наследования, без изменения логики приложения) производить подмену некоторых его методов. runkit не подходит, т. к. 1) судя по отзывам иногда не очень стабилен и 2) требуется его установка на сервере, чего крайне желательно избежать.
  • Вопрос задан
  • 1527 просмотров
Решения вопроса 1
@niksamokhvalov Автор вопроса
Веб-разработчик
Увы, но без модификации кода приложения, как выяснилось, это не сделать.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Fortop
Tech/Team lead
Никита Самохвалов: вопрос на самом деле рядовой. Очередной любитель запуска крокодилов в полет...

Если класс ваш, то реализуйте эту возможность через магические методы.

Если класс не ваш, то Dependency Injection вам в руки https://en.m.wikipedia.org/wiki/Inversion_of_control
Так же вопросу удовлетворяют и декораторы
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы