php call 私有方法,php – __call等同于公共方法

我有一个API来与我的网络应用程序交互,由一个类定义.每个可公开访问的方法需要在运行之前进行身份验证.而不是在每个方法中反复使用相同的行,我想使用魔术__call函数.但是,它只适用于私有或受保护的方法,我需要公开才能使用Zend_Json_Server.

class MY_Api

{

public function __call($name, $arguments)

{

//code here that checks arguments for valid auth token and returns an error if false

}

public function myFunction($param1, $param2, $param3)

{

//do stuff when the user calls the myFunction and passes the parameters

//this function must remain public so that Zend_Json_Server can parse it

//but I want it intercepted by a magic method so that the authentication

//can be checked and the system bails before it even gets to this function.

}

}

在这些公共函数之前可以钩住这些函数,并可能在被调用之前取消它们的执行吗?