在调用任何类的任何方法之前做一些事情

时间:2013-12-30 11:18:47

标签: php validation inheritance call

我想检查用户是否有权调用某种方法。

此示例正常运行

class A
{   
    public function __call($method, $args)
    {
        echo 'do something before invoke method</br>';

        if(method_exists($this, $method)) 
        {
            call_user_func_array(array($this, $method), $args);
        }
    }


    private function testA()
    {
        echo 'do something what testA has to do';
    }
}

但我希望在每个类中为每个方法进行验证 我认为这个解决方案对我有好处

class A
{
    public function __call($method, $args)
    {
        echo 'do something before invoke method</br>';

        if(method_exists($this, $method)) 
        {
            call_user_func_array(array($this, $method), $args);
        }
    }

}

class B extends A
{
    private function testB()
    {
        echo 'do something what testB has to do</br>';
    }
}

我错了。我得到无限循环。 我需要一个基本类,它将在调用某个方法之前验证用户的权限。

0 个答案:

没有答案