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 \*(C`pnotes\*(C' \s-1API\s0. 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. \s-1NOTE\s0: You need \*(C`PerlOptions +GlobalRequest\*(C' 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 <[email protected]> and Perrin Harkins <[email protected]>.

Initial implementation and versions 0.01 to 0.07 by Tatsuhiko Miyagawa <[email protected]>.

RELATED TO Apache::Singleton…

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 [email protected] or through the web interface at: http://rt.cpan.org/Public/Dist/Display.html?Name=Apache-Singleton

AUTHOR

Michael Schout <[email protected]>

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.