/**
  * Build callback for method signature
  *
  * @param  Zend_Server_Reflection_Function_Abstract $reflection
  * @return Zend_Server_Method_Callback
  */
 protected function _buildCallback(Zend_Server_Reflection_Function_Abstract $reflection)
 {
     $callback = new Zend_Server_Method_Callback();
     if ($reflection instanceof Zend_Server_Reflection_Method) {
         $callback->setType($reflection->isStatic() ? 'static' : 'instance')->setClass($reflection->getDeclaringClass()->getName())->setMethod($reflection->getName());
     } elseif ($reflection instanceof Zend_Server_Reflection_Function) {
         $callback->setType('function')->setFunction($reflection->getName());
     }
     return $callback;
 }
Esempio n. 2
0
 /**
  * Dispatch method
  * 
  * @param  Zend_Server_Reflection_Function_Abstract $invocable 
  * @param  array $params 
  * @return mixed
  */
 protected function _dispatch(Zend_Server_Reflection_Function_Abstract $invocable, array $params)
 {
     if ($invocable instanceof Zend_Server_Reflection_Function) {
         $function = $invocable->getName();
         return call_user_func_array($function, $params);
     }
     $class = $invocable->getDeclaringClass();
     $object = $class->newInstance();
     return $invocable->invokeArgs($object, $params);
 }