NAME¶
Apache::Singleton - Singleton class for mod_perl
VERSION¶
version 0.15
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.
NOTE: You need "PerlOptions +GlobalRequest" in your apache
configuration in order to use the Request lifetime method.
- 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.
CREDITS¶
Original idea by Matt Sergeant <matt@sergeant.org> and Perrin Harkins
<perrin@elem.com>.
Initial implementation and versions 0.01 to 0.07 by Tatsuhiko Miyagawa
<miyagawa@bulknews.net>.
SEE ALSO¶
Apache::Singleton::Request, Apache::Singleton::Process, Class::Singleton
SOURCE¶
The development version is on github at
http://github.com/mschout/apache-singleton
<
http://github.com/mschout/apache-singleton> and may be cloned from
git://github.com/mschout/apache-singleton.git
<
git://github.com/mschout/apache-singleton.git>
BUGS¶
Please report any bugs or feature requests to bug-apache-singleton@rt.cpan.org
or through the web interface at:
http://rt.cpan.org/Public/Dist/Display.html?Name=Apache-Singleton
AUTHOR¶
Michael Schout <mschout@cpan.org>
COPYRIGHT AND LICENSE¶
This software is copyright (c) 2009 by Michael Schout.
This is free software; you can redistribute it and/or modify it under the same
terms as the Perl 5 programming language system itself.