написание форума[perl]
От: loot  
Дата: 16.07.05 04:10
Оценка:
perl+mysql
В одном скрипте может быть несколько обращений к базе.
Что практичней:
1)В конструкторе делать connect, а потом из функций делать do/execute, в деструкторе делать disconnect
2)В каждой функции делать connect, do, disconnect
?
Я лично склоняюсь к первому варианту, но может есть какие-то особенности?
Re: написание форума[perl]
От: Mr WeL Россия  
Дата: 16.07.05 06:13
Оценка:
Здравствуйте, loot, Вы писали:

L>perl+mysql

L>В одном скрипте может быть несколько обращений к базе.
L>Что практичней:
L>1)В конструкторе делать connect, а потом из функций делать do/execute, в деструкторе делать disconnect
L>2)В каждой функции делать connect, do, disconnect
L>?
L>Я лично склоняюсь к первому варианту, но может есть какие-то особенности?

Мне кажется что в скрипте по любому будет обращение к базе,
так что практичнее сделать в начале соединение с базой, а в конце разрывать соединение.

а что бы использовать коннект в своих функциях, я обычно
делаю
use vars qw{$dbh};

$dbh = DBI->connect(...);


YourFonc1();
YourFonc2();

YourFoncN();

$dbh->disconnect();
Re: написание форума[perl]
От: Makswell Верблюд http://progers.ru
Дата: 16.07.05 06:23
Оценка:
Здравствуйте, loot, Вы писали:

L>perl+mysql

L>В одном скрипте может быть несколько обращений к базе.
L>Что практичней:
L>1)В конструкторе делать connect, а потом из функций делать do/execute, в деструкторе делать disconnect
L>2)В каждой функции делать connect, do, disconnect
L>?
L>Я лично склоняюсь к первому варианту, но может есть какие-то особенности?

Думать особо не надо... Первое конечно толерантнее, эстетичне, если так можно сказать... Зачем в каждой ф-и делать одну и ту же рутину?. Достаточно в одной. Если все ф-и взаимосвязаны между собой. Вообще лучше коннект вынести в отдельный файл. А дальше смотреть — если нельзя его инклюдить в одном месте, то инклюдишь где надо...
Re[2]: написание форума[perl]
От: loot  
Дата: 16.07.05 07:44
Оценка:
И разрешите ещё вопрос : как можно импортировать @EXPORT модуля, если часть его именни определяеться диномически, т.е.

use Forum;
use Forum::Config; # Здесь храниться значение $DefaultLanguage
eval("use Lang::$DefaultLanguage"); # А здесь %Error

my $Forum = Forum->New() || Error($Error{'init'}); # Поключения к mysql

$Forum->Функции; # Запросы к базе

$Forum->Destroy(); # Отключение от mysql

Но из-за eval %Error не видна. Есть ли другое решение?
Re: написание форума[perl]
От: butcher Россия http://bu7cher.blogspot.com
Дата: 18.07.05 09:01
Оценка:
Здравствуйте, loot, Вы писали:

L>perl+mysql

L>В одном скрипте может быть несколько обращений к базе.
L>Что практичней:

Использовать FastCGI и держать соединение постоянно. Хотя зависит от дизайна (от того как он построен, а не от внешнего вида ) вашего форума.

Нет ничего невозможного..
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.