|
Moodle
2.2.1
http://www.collinsharper.com
|
00001 <?php 00024 require_once 'Zend/Server/Reflection/Function/Abstract.php'; 00025 00037 class Zend_Server_Reflection_Method extends Zend_Server_Reflection_Function_Abstract 00038 { 00043 protected $_class; 00044 00049 protected $_classReflection; 00050 00060 public function __construct(Zend_Server_Reflection_Class $class, ReflectionMethod $r, $namespace = null, $argv = array()) 00061 { 00062 $this->_classReflection = $class; 00063 $this->_reflection = $r; 00064 00065 $classNamespace = $class->getNamespace(); 00066 00067 // Determine namespace 00068 if (!empty($namespace)) { 00069 $this->setNamespace($namespace); 00070 } elseif (!empty($classNamespace)) { 00071 $this->setNamespace($classNamespace); 00072 } 00073 00074 // Determine arguments 00075 if (is_array($argv)) { 00076 $this->_argv = $argv; 00077 } 00078 00079 // If method call, need to store some info on the class 00080 $this->_class = $class->getName(); 00081 00082 // Perform some introspection 00083 $this->_reflect(); 00084 } 00085 00091 public function getDeclaringClass() 00092 { 00093 return $this->_classReflection; 00094 } 00095 00104 public function __wakeup() 00105 { 00106 $this->_classReflection = new Zend_Server_Reflection_Class(new ReflectionClass($this->_class), $this->getNamespace(), $this->getInvokeArguments()); 00107 $this->_reflection = new ReflectionMethod($this->_classReflection->getName(), $this->getName()); 00108 } 00109 00110 }