Apache::Singleton.3pm

Langue: en

Version: 2001-12-22 (debian - 07/07/09)

Section: 3 (Bibliothèques de fonctions)

NAME

Apache::Singleton - Singleton class for mod_perl

SYNOPSIS

   package Printer;
   # default:
   #   Request for mod_perl env
   #   Process for non-mod_perl env
   use base qw(Apache::Singleton);
 
 
   package Printer::PerRequest;
   use base qw(Apache::Singleton::Request);
 
 
   package Printer::PerProcess;
   use base qw(Apache::Singleton::Process);
 
 

DESCRIPTION

Apache::Singleton works the same as Class::Singleton, but with various object lifetime (scope). See Class::Singleton first.

OBJECT LIFETIME

By inheriting one of the following sublasses of Apache::Singleton, you can change the scope of your object.
Request
   use base qw(Apache::Singleton::Request);
 
 

One instance for one request. Apache::Singleton will remove instance on each request. Implemented using mod_perl "pnotes" API. In mod_perl environment (where $ENV{MOD_PERL} is defined), this is the default scope, so inheriting from Apache::Singleton would do the same effect.

Process
   use base qw(Apache::Singleton::Process);
 
 

One instance for one httpd process. Implemented using package global. In non-mod_perl environment, this is the default scope, and you may notice this is the same beaviour with Class::Singleton ;)

So you can use this module safely under non-mod_perl environment.

AUTHOR

Original idea by Matt Sergeant <matt@sergeant.org> and Perrin Harkins <perrin@elem.com>.

Code by Tatsuhiko Miyagawa <miyagawa@bulknews.net>.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

SEE ALSO

Apache::Singleton::Request, Apache::Singleton::Process, Class::Singleton