Эквивалент вызова __ для общедоступных методов

, у меня есть 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.
  }
}

Можно ли подключиться к этим публичным функциям и, возможно, отменить их выполнение до их вызова?

10
задан wattostudios 30 April 2012 в 14:15
поделиться