NAME
Apache::Singleton - Singleton class for mod_perl
SYNOPSIS
package Printer;
use base qw(Apache::Singleton);
# same: default is per Request
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. 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. Notice this is the same beaviour with Class::Singleton ;)
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, Cache::SharedMemoryCache