这似乎从mod_perl 2.0 docs,你可以使用“办法”的语法做你想要什么(我没有测试这一点):
PerlAccessHandler MyApache::MyLoginModule->access_handler
PerlAuthenHandler MyApache::MyLoginModule->authen_handler
PerlAuthzHandler MyApache::MyLoginModule->authz_handler
我相信,这将导致mod_perl的对你的每一个012的命名方法调用以静态方式类。
你也可以创建一个对象来调用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的配置,这部分的工作因此您的结果可能会有所不同!
使用 “...> access_handler” 语法的作品。有趣的是,处理程序获得了两个参数(第二个参数是请求对象),与handler()函数不同,后者只通过请求。 – AndrewR 2009-02-16 10:43:32