从mod_perl 2.0 文档中可以看出,您可以使用“方法”语法来执行您想要的操作(我尚未对此进行测试):
PerlAccessHandler MyApache::MyLoginModule->access_handler
PerlAuthenHandler MyApache::MyLoginModule->authen_handler
PerlAuthzHandler MyApache::MyLoginModule->authz_handler
MyApache::MyLoginModule
我相信这会导致 mod_perl 在你的类上以静态方式调用每个命名方法。
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 配置的这一部分以来已经有一段时间了,所以您的结果可能会有所不同!