![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| shamber |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1422 Регистрация: 5.9.2006 Где: Россия Репутация: 17 Всего: 18 |
Доброгро времени суток.
Вопрос следующий. Как можно организовать замену функции в модуле в realtime? т.е. есть серверный модуль, который подключает модуль test.
Dj время работы захотелось изменить поведение функции start.
как такое можно организовать без перезагрузки серверного модуля? |
||||
|
|||||
| Zuzu |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 19.10.2006 Где: Екатеринбург Репутация: 3 Всего: 4 |
Создай два клаccа с наследованием от класса test. Переопредели там метод start
Этого хотел? Это сообщение отредактировал(а) Zuzu - 18.1.2007, 17:53 --------------------
Проводить эксперименты на живом сервере опасно, а на мертвом - бесполезно. |
||||
|
|||||
| Nab |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 582 Регистрация: 25.3.2006 Где: Kiev Репутация: 26 Всего: 37 |
Да очень просто, так как это и сделано в плугинах для CGI::Application
Я так понимаю это он просто импортируете функцию с таким именем в пространство имен базового модуля, и пользуйтесь... Если Вам нужно переопределить именно start, то как верно заметил Zuzu, просто в потомке переопределяете... Ну а если это конкретно CGI::Application? то этот метод и предназначен для переопределения в потомках, именно в нем должны задаваться параметры режимов и всего остального.... -------------------- Чтобы правильно задать вопрос нужно знать больше половины ответа... Perl Community FREESCO in Ukraine |
|||
|
||||
| shamber |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1422 Регистрация: 5.9.2006 Где: Россия Репутация: 17 Всего: 18 |
Спасибо Всем.
Ситуация следующая. Есть главный скрипт, который подключает плагины(модули). Скрипт работает, и тут я понимаю, что хочется поменять одну\несколько функций в одном плагине. Плагин исправил. Но как им заменить уже его работающую неисправленную копию? Механизм просто не до конца понимаю. Ситуация которую изложил, отличается от моего первого поста? |
|||
|
||||
| Nab |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 582 Регистрация: 25.3.2006 Где: Kiev Репутация: 26 Всего: 37 |
Ответь конкретно, это на основе CGI::Application, или нет?
Если на нем, то может повесить правильный хук, если нет, то можно создать потомка плагина и в головном модуле подключать его а не родительский плугин... Короче много от чего зависит, как организована работа с плугинами, их порядок загрузки, и т.д. -------------------- Чтобы правильно задать вопрос нужно знать больше половины ответа... Perl Community FREESCO in Ukraine |
|||
|
||||
| shamber |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1422 Регистрация: 5.9.2006 Где: Россия Репутация: 17 Всего: 18 |
Нет. Это не на основе CGI::Application.
А где можно почитать, о работе с плагинами ? Есть материалы на эту тему? |
|||
|
||||
| Zuzu |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 19.10.2006 Где: Екатеринбург Репутация: 3 Всего: 4 |
Наверно, на ходу никак. Скопируй на место новый файл, перегрузи web-сервер --------------------
Проводить эксперименты на живом сервере опасно, а на мертвом - бесполезно. |
|||
|
||||
| Nab |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 582 Регистрация: 25.3.2006 Где: Kiev Репутация: 26 Всего: 37 |
А жаль, тут бы я тебе помог
На CAPN есть OpenPlugin, но он основан тоже на CGI::Application, и там реализация вполне универсальна, но достаточно заумная Я к примеру сейчас к своему проекту новый интерфейс продумую и для плагинов в том числе... А вообще это такая вещь где лучше учиться на готовых реализациях.. Поищи на CPAN по слову Plugin плучишь кучу всего... выбери систему попроще или с которой сталкивался и изучи плагины и работу с ними... возможно появятся какие идеи... -------------------- Чтобы правильно задать вопрос нужно знать больше половины ответа... Perl Community FREESCO in Ukraine |
|||
|
||||
| shamber |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1422 Регистрация: 5.9.2006 Где: Россия Репутация: 17 Всего: 18 |
Спасибо за подсказку... буду думать. Просто я тут тоже решил, маленький сервер на POE организовать,подключением плагинов на лету.... Так что присматриваюсь. Приписываюсь Буду смотреть POE::COMPONENT::IRC::Plugin / Это сообщение отредактировал(а) shamber - 20.1.2007, 00:33 |
|||
|
||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |