![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| sharq |
|
||||
![]() Perl Liker ![]() ![]() Профиль Группа: Участник Сообщений: 841 Регистрация: 13.12.2004 Где: Ростов-на-Дону Репутация: 2 Всего: 28 |
Если в своем (дочернем) классе описать конструктор new, то никак не получается вызвать метод param (пронаследовать его или переопределить).
Сам скрипт
Как я понимаю, мой конструктор перекрывает конструктор модуля CGI и из-за этого косяк. Если убрать метод new из моего модуля, то все работает нормально. Я уже пытался в своем конструкторе вызвать конструктор CGI и его метод init, но ничего не выходит. Мой конструктор нужен только для того, чтобы вызвать init(). Вызывать отдельно в скрипте init мне не нравится, для того (в частности) и нужен new. Нужна помощь. -------------------- [color=gray]There's More Than One Way To Do It[/color] |
||||
|
|||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 13 Всего: 61 |
Переопредели метод param в своём классе:
-------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
| sharq |
|
|||
![]() Perl Liker ![]() ![]() Профиль Группа: Участник Сообщений: 841 Регистрация: 13.12.2004 Где: Ростов-на-Дону Репутация: 2 Всего: 28 |
korob2001 спасибо.
А-то я уже и так $self->SUPER::param, и так CGI->param пробывал, даже пробывал не переопределять этот метод, а просто наследовать... Вот про вызов как подпрограмму забыл. Ты случаем не знаешь, почему конструктор дочернего класса, мешает работать с param также, как и с другими методами модуля CGI. -------------------- [color=gray]There's More Than One Way To Do It[/color] |
|||
|
||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 13 Всего: 61 |
sharq - ты знаешь, попробовал сейчас написать такой код, вроде работает и без переопределения функции param() в твоём классе. Попробуй:
MyClass.pm
-------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
| sharq |
|
|||
![]() Perl Liker ![]() ![]() Профиль Группа: Участник Сообщений: 841 Регистрация: 13.12.2004 Где: Ростов-на-Дону Репутация: 2 Всего: 28 |
korob2001 ты шутишь?
У меня не работает... -------------------- [color=gray]There's More Than One Way To Do It[/color] |
|||
|
||||
| korob2001 |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 13 Всего: 61 |
Причём если удалить эту строку:
То работать не будет. Открой CGI.pm и посмотри метод init и param, думаю ты без проблем найдёшь там ответ на свой вопрос. Это сообщение отредактировал(а) korob2001 - 28.8.2005, 17:43 -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
||||
|
|||||
| sharq |
|
|||
![]() Perl Liker ![]() ![]() Профиль Группа: Участник Сообщений: 841 Регистрация: 13.12.2004 Где: Ростов-на-Дону Репутация: 2 Всего: 28 |
korob2001 проблема была в том, что я перекрывал метод init модуля CGI своим.
Вот и вместе разобрались, без шуток не обошлось. Спасибо еще раз. -------------------- [color=gray]There's More Than One Way To Do It[/color] |
|||
|
||||
![]()
|
| Правила форума "Perl: CGI программирование" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: разработка для Web | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |