MyWackoSite: NsuTs/Documentation/devguide/modules/Singleton

Singleton

use Nsuts_new::Util::Singleton;

use base qw(Nsuts_new::Util::Singleton);

Используется для реализации синглтона со временем жизни, равным времени жизни запроса. Т. е. Наследуемый от Singleton класс инстанцируется один раз в течении запроса и на каждый запрос инстанциируется заново.

В качестве основы для реализации был использован код класса CPAN Apache::Singleton (см. баг 721)

При наследовании необходимо переопределить метод _new_instance(). Данный метод будет вызван один раз при первом вызове метода instance(), наследуемого класса.

Аргументы, переданные при первом вызове instance могут быть использованы внутри _new_instance(), при последующих вызовах аргументы игнорируются.

Класс корректно работает при standalone запуске и при исполнении через mod_perl2