![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| SkoobyDoo |
|
||||||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 4.10.2007 Репутация: нет Всего: нет |
Доброго времени суток!
Есть вопрос. Каким образом можно в классе DB.pm наследовать функции из дочерних классов в зависимости от параметра конфига "dbtype", т.е. как они переопределяются? Например имееться скрипт main.pl:
Файл конфига config.yml с содержимым:
Далее идут три класса DB::SQLite, DB::MySQL и DB::PgSQL:
Это сообщение отредактировал(а) SkoobyDoo - 7.2.2011, 11:55 |
||||||||||
|
|||||||||||
| arto |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1495 Регистрация: 31.10.2004 Репутация: 38 Всего: 40 |
поманипулируйте @ISA.
perldoc perlboot |
|||
|
||||
| SkoobyDoo |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 4.10.2007 Репутация: нет Всего: нет |
Написал так:
работает! Конечно хотелось бы услышать ваше мнение. Может есть более удобные способы. Это сообщение отредактировал(а) SkoobyDoo - 7.2.2011, 13:05 |
|||
|
||||
| arto |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1495 Регистрация: 31.10.2004 Репутация: 38 Всего: 40 |
имхо проще все скрыть от пользователя, и не выносить наружу потроха работы с базой.
DBI может сам подгрузить нужный DBD, в зависимостки от DSN. если не уверены в наличии нужного модуля, используйте require и ловите $@. |
|||
|
||||
| SkoobyDoo |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 4.10.2007 Репутация: нет Всего: нет |
Хочеться, чтобы в качестве БД можно было использовать SQLite/MySQL/Pg/XML/YAML/текстовик/etc. А что там происходит было не видно. Набрав
не заботило, что там, да и как. Это сообщение отредактировал(а) SkoobyDoo - 7.2.2011, 15:11 |
|||
|
||||
| arto |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1495 Регистрация: 31.10.2004 Репутация: 38 Всего: 40 |
ну и определяйте базу через dsn, обычно этого должно хватить.
|
|||
|
||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |