【发布时间】:2015-12-24 11:13:48
【问题描述】:
我想知道是否有一种方法可以检查其类中方法的访问修饰符。例如,我想将 Codeigniter 的重新映射方法用于帐户系统:
public function _remap($method, $params = array()){
if($this->validation->isValidActiveSession()){
if(method_exists($this, $method))
call_user_func_array(array($this, $method), $params);
else
show_404();
}else{
redirect('login');
}
}
如果我找不到用户的有效会话,他会被拒绝。我还想确保拥有适当会话的用户只能调用公共方法。不幸的是,无论方法是公共的还是私有的,method_exists() 都会返回 true。
我已经有了针对这个特定问题的解决方案:
不在每个公共方法中使用重映射和验证会话
使用存储有效用户可用方法的数组
但感觉不方便,所以我只是在寻找一个“更高级”的解决方案。
【问题讨论】:
标签: php codeigniter class scope namespaces