Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : P4elovod Planety                     2:5020/1935.15 20 Jun 2003  23:15:55
 To : Mikhail Polykovsky
 Subject : BEGIN - DESTROY
 -------------------------------------------------------------------------------- 
 
 MP> Здравствуйте.
 MP> Допустим, есть класс, все экземпляры которого пользуются коннектом к
 MP> базе (одним на все экземпляры).
 
 MP> my $dbh;
 
 MP> sub BEGIN{
 MP>     $dbh = connect_to_database();
 MP> }
 
 MP> sub new{
 MP>     # tru-la-la
 MP>     $self->{'handle'} = $dbh;
 MP> }
 
 MP> Вопрос в том, как мне организовать DESTROY? Если отключаться от базы в
 MP> нем, тогда скрипт отключится при первом удалении объекта, остальные не
 MP> смогут работать с базой. А если вообще ни один экземпляр не
 MP> создавался, DESTROY не будет вызван, и коннект повиснет. Как
 MP> поступить?
 
    Если не создавался ни один экземпляр, зачем зря дергать базу ?
 
 например так:
 
 my $dbh;
 my $refc;
 
 sub new {
         connect_to_database() unless($dbh);
         $refc++;
 }
 
 sub DESTROY {
         $ref--;
         disconnect() if($refc == 0);
 }
 --- make it funky ..
  * Origin: .. (2:5020/1935.15)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 BEGIN - DESTROY   Mikhail Polykovsky   13 Jun 2003 10:13:17 
 Re: BEGIN - DESTROY   Artem Chuprina   13 Jun 2003 10:44:02 
 Re[2]: BEGIN - DESTROY   Mikhail Polykovsky   13 Jun 2003 11:04:27 
 Re: Re[2]: BEGIN - DESTROY   Artem Chuprina   14 Jun 2003 23:58:04 
 BEGIN - DESTROY   P4elovod Planety   20 Jun 2003 23:15:55 
Архивное /ru.perl/234753ef39906.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional