_classReflection = $class; $this->_reflection = $r; $classNamespace = $class->getNamespace(); // Determine namespace if (!empty($namespace)) { $this->setNamespace($namespace); } elseif (!empty($classNamespace)) { $this->setNamespace($classNamespace); } // Determine arguments if (is_array($argv)) { $this->_argv = $argv; } // If method call, need to store some info on the class $this->_class = $class->getName(); // Perform some introspection $this->_reflect(); } /** * Return the reflection for the class that defines this method * * @return Zend_Server_Reflection_Class */ public function getDeclaringClass() { return $this->_classReflection; } /** * Wakeup from serialization * * Reflection needs explicit instantiation to work correctly. Re-instantiate * reflection object on wakeup. * * @return void */ public function __wakeup() { $this->_classReflection = new Zend_Server_Reflection_Class(new ReflectionClass($this->_class), $this->getNamespace(), $this->getInvokeArguments()); $this->_reflection = new ReflectionMethod($this->_classReflection->getName(), $this->getName()); } }