| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Для профи > модификация php кода |
| Автор: NFL 5.2.2015, 21:43 | ||||
| Итак, суть. Есть некий продукт, MVC, много кода, много модулей, и т.д. Встала необходимость реализовать механизм обновления ядра и модулей. Ядро обновить не проблема (оно не должно меняться, что понятно, никем кроме разработчика движка) А вот модули могут изменяться под нужды проекта, а могут и не изменяться. Задача такова: Положим, есть что то типа:
На скрипт обновления заходит php-файл:
Задача в том, чтобы обновить (перезаписать) методы indexAction() и barAction(), но проигнорировать fooAction(), т.к. есть аннотация @custom. Узнать, есть ли аннотация - не проблема. А вот перезаписать метод - не находил подобного в Reflection API. Есть ли что то подобное? Подскажите, знаюшие люди |
| Автор: baldina 6.2.2015, 00:11 |
| 1. зачем reflection? 2. идея такого обновления не очень. custom может перестать работать после обновления. 3. зачем в модуле изменять класс, если можно создать новый класс, используя стандартный в качестве базового? Добавлено через 1 минуту и 33 секунды я к тому, что если в исходнике можно найти аннотацию, перезаписать код тоже не проблема |
| Автор: NFL 7.2.2015, 23:19 |
| 1. удобно же 2. это уже внутренняя головная боль) сделать так чтоб не рухнуло 3. ограничения фреймворка, проект большой, написан на ЗФ1, и переписывать на том же Yii нет ни малейшего желания, да и времени не ахти( Насколько я знаю ЗФ, там нельзя адекватно заменить один контроллер другим, и вынести действия в файлы (как yii 1.x) тоже нельзя (гугль молчит на эту тему) |