У меня есть 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.
}
}
Можно ли подключиться к этим публичным функциям и, возможно, отменить их выполнение до их вызова?