|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
|
NFL |
|
||||
Шустрый Профиль Группа: Участник Сообщений: 137 Регистрация: 5.5.2009 Репутация: нет Всего: нет |
Итак, суть. Есть некий продукт, MVC, много кода, много модулей, и т.д.
Встала необходимость реализовать механизм обновления ядра и модулей. Ядро обновить не проблема (оно не должно меняться, что понятно, никем кроме разработчика движка) А вот модули могут изменяться под нужды проекта, а могут и не изменяться. Задача такова: Положим, есть что то типа:
На скрипт обновления заходит php-файл:
Задача в том, чтобы обновить (перезаписать) методы indexAction() и barAction(), но проигнорировать fooAction(), т.к. есть аннотация @custom. Узнать, есть ли аннотация - не проблема. А вот перезаписать метод - не находил подобного в Reflection API. Есть ли что то подобное? Подскажите, знаюшие люди |
||||
|
|||||
baldina |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 1 Всего: 101 |
1. зачем reflection?
2. идея такого обновления не очень. custom может перестать работать после обновления. 3. зачем в модуле изменять класс, если можно создать новый класс, используя стандартный в качестве базового? Добавлено через 1 минуту и 33 секунды я к тому, что если в исходнике можно найти аннотацию, перезаписать код тоже не проблема |
|||
|
||||
NFL |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 137 Регистрация: 5.5.2009 Репутация: нет Всего: нет |
1. удобно же
2. это уже внутренняя головная боль) сделать так чтоб не рухнуло 3. ограничения фреймворка, проект большой, написан на ЗФ1, и переписывать на том же Yii нет ни малейшего желания, да и времени не ахти( Насколько я знаю ЗФ, там нельзя адекватно заменить один контроллер другим, и вынести действия в файлы (как yii 1.x) тоже нельзя (гугль молчит на эту тему) |
|||
|
||||
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Для профи | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |