Из документов mod_perl 2.0 видно, что вы можете использовать синтаксис "method", чтобы делать то, что вы хотите (я не проверял это):
PerlAccessHandler MyApache::MyLoginModule->access_handler
PerlAuthenHandler MyApache::MyLoginModule->authen_handler
PerlAuthzHandler MyApache::MyLoginModule->authz_handler
Полагаю, это заставит mod_perl статически вызывать каждый из названных методов для вашего MyApache::MyLoginModule
класса.
Вы также можете создать объект, который будет использоваться при вызове метода handler
, если вы хотите:
<Perl>
use MyApache::MyLoginModule;
$MyApache::MyLoginModule::access = MyApache::MyLoginModule->new(phase => 'access');
$MyApache::MyLoginModule::authen = MyApache::MyLoginModule->new(phase => 'authen');
$MyApache::MyLoginModule::authz = MyApache::MyLoginModule->new(phase => 'authz');
</Perl>
PerlAccessHandler $MyApache::MyLoginModule::access->handler
PerlAuthenHandler $MyApache::MyLoginModule::authen->handler
PerlAuthzHandler $MyApache::MyLoginModule::authz->handler
Этот подход позволит вам иметь один handler
метод, который может иметь различное поведение в зависимости от свойств объекта, настроенных при создании объекта.
Отказ от ответственности: я давно работал с этой частью конфигурации mod_perl, поэтому ваши результаты могут отличаться!