![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| gcc |
|
|||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
Уважаемые, поругайте пожалуйста на код...
там допиливать еще долго, некоторые вещи может быть покажутся странными... если использовать use strict; то все остальное все равно? как протестировать можно? (еще надо сделать 2 модуля) еще там добавить в запрос после WHERE надо, делал так примерно:
код тут: http://x0.org.ua/perl_old.txt Это сообщение отредактировал(а) gcc - 21.12.2008, 09:23 |
|||
|
||||
| gcc |
|
|||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
Это сообщение отредактировал(а) gcc - 21.12.2008, 09:22 |
|||
|
||||
| gcc |
|
|||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
Это сообщение отредактировал(а) gcc - 21.12.2008, 09:22 |
|||
|
||||
| dmitryk1 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 118 Регистрация: 10.6.2008 Где: Новосибирск Репутация: 2 Всего: 2 |
А почему вызовы $dbh = DBI->connect(
в каждой процедуре? Параметры вроде одинаковые... Может стоит глобальный объект сделать? И ещё некоторые запросы красивые: VALUES (?,?,?,?,?,?,NOW(),NOW(),?) а некоторые генерятся, вроде как без особой надобности: WHERE t1.session = \'' . $cookies{'session'} . '\' AND... ну и делай их WHERE t1.session = \'? \' AND... если сервак запросы кэширует и генерируемые часто встречаются, то сервак тормозить начнёт... немного. оПЯТЬ же безопасность повысишь. А то хз, чего они там в куки напихают... чёнить типа "0 OR 1=1; drop table;/*--" ;) Это сообщение отредактировал(а) dmitryk1 - 14.11.2008, 08:35 |
|||
|
||||
| ginnie |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 6.1.2008 Где: Москва Репутация: 38 Всего: 49 |
gcc, согласен с dmitryk1, по поводу соединений и placeholder'ов. Соединение надо передавать в функции параметром.
Лучше код $$dd{'domain'} писать как $dd->{'domain'}, так привычнее. s /[\W]//g - зачем скобки и почему не \W+ &create_session; - вызовы функции лучше писать как create_session(); Почему use Data::Validate::Domain qw(is_domain); в середине скрипта? -------------------- Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг) |
|||
|
||||
| tolkien |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 277 Регистрация: 5.4.2008 Репутация: 4 Всего: 4 |
Вот $$dd{'domain'} от такого способа разыменование лучше отказаться. Потому что можно тогда спутать с символьными ссылками. Лучше делать как ginnie написал
[ |
|||
|
||||
| gcc |
|
||||||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
спасибо, исправлю...
параметры с начало планирвались разные для несколько баз данных и транзакции делать по примеру...
глобальный объект, это один раз в начале скрипта подключится... или DBIx::Class?
я хотел в начале скрипта подключиться, а в конце скрипта отключиться... и еще eval{} сейчас сделал так чтобы было видно когда подлючаюсь и когда отлючаюсь как передвать в функцию подключение, это анонимная подпрограмма? (не могу понять смысла) Это сообщение отредактировал(а) gcc - 14.11.2008, 20:38 |
||||||
|
|||||||
| ginnie |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 6.1.2008 Где: Москва Репутация: 38 Всего: 49 |
func($dbh); -------------------- Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг) |
|||
|
||||
| gcc |
|
|||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
а выключать соединение тогда наверное так:
|
|||
|
||||
| ginnie |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 6.1.2008 Где: Москва Репутация: 38 Всего: 49 |
gcc, может все-таки так логичнее?
Добавлено через 56 секунд
можно фрагмент кода увидеть? -------------------- Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг) |
||||
|
|||||
| gcc |
|
||||||||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
ginnie, я понял, спасибо, буду делать... Добавлено через 2 минуты и 6 секунд
кода нету, примерно вот так, если правильно это...
|
||||||||
|
|||||||||
| gcc |
|
|||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
Это сообщение отредактировал(а) gcc - 21.12.2008, 20:57 |
|||
|
||||
| gcc |
|
||||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
я вот переписал, на всякий случай может кто-то посмотрит
интересно узнать где ошибки или не правильно, там работает всё код: http://x0.org.ua/perl/ там интересует вопрос 1) праивльно так написать во всех классах?
в книге было не определено $AUTOLOAD:
как проверить работаетли AUTOLOAD? если он нужен вообще 2. я нашел много информации про DESTROY (он вызывается сам), в данном случае мне нужно свой метод делать DESTROY и что в нем удалять? 3. $dbh мне удобно было написать вызвать, потмо сделаю метод который будет $dbh в начале, в удалятся в DESTROY Это сообщение отредактировал(а) gcc - 21.12.2008, 10:20 |
||||
|
|||||
| KSURi |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 887 Регистрация: 8.6.2006 Где: Russia Репутация: 20 Всего: 27 |
gcc, в вашем случае AUTOLOAD вовсе не нужен, у вас ведь всего два метода.
Обычно его используют для создания accessors/mutators для атрибутов объектов. Как проверить AUTOLOAD? Странный вопрос... А как вы все остальное проверяете? -------------------- Died at Life.pl line 21 |
|||
|
||||
| gcc |
|
|||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
KSURi, понятно, я хотел как раз в целом спросить, не то что мелкие ошибки, а чтобы знать куда дальше смотреть...
я так понял что если работает - значит правильно |
|||
|
||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |