[ Index ] |
PHP Cross Reference of moodle-2.8 |
[Summary view] [Print] [Text view]
1 <?php 2 /** 3 * Zend Framework 4 * 5 * LICENSE 6 * 7 * This source file is subject to the new BSD license that is bundled 8 * with this package in the file LICENSE.txt. 9 * It is also available through the world-wide-web at this URL: 10 * http://framework.zend.com/license/new-bsd 11 * If you did not receive a copy of the license and are unable to 12 * obtain it through the world-wide-web, please send an email 13 * to [email protected] so we can send you a copy immediately. 14 * 15 * @category Zend 16 * @package Zend_Server 17 * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com) 18 * @license http://framework.zend.com/license/new-bsd New BSD License 19 */ 20 21 /** 22 * Zend_Server_Reflection_Function_Abstract 23 */ 24 require_once 'Zend/Server/Reflection/Function/Abstract.php'; 25 26 /** 27 * Method Reflection 28 * 29 * @uses Zend_Server_Reflection_Function_Abstract 30 * @category Zend 31 * @package Zend_Server 32 * @subpackage Reflection 33 * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com) 34 * @license http://framework.zend.com/license/new-bsd New BSD License 35 * @version $Id$ 36 */ 37 class Zend_Server_Reflection_Method extends Zend_Server_Reflection_Function_Abstract 38 { 39 /** 40 * Parent class name 41 * @var string 42 */ 43 protected $_class; 44 45 /** 46 * Parent class reflection 47 * @var Zend_Server_Reflection_Class 48 */ 49 protected $_classReflection; 50 51 /** 52 * Constructor 53 * 54 * @param Zend_Server_Reflection_Class $class 55 * @param ReflectionMethod $r 56 * @param string $namespace 57 * @param array $argv 58 * @return void 59 */ 60 public function __construct(Zend_Server_Reflection_Class $class, ReflectionMethod $r, $namespace = null, $argv = array()) 61 { 62 $this->_classReflection = $class; 63 $this->_reflection = $r; 64 65 $classNamespace = $class->getNamespace(); 66 67 // Determine namespace 68 if (!empty($namespace)) { 69 $this->setNamespace($namespace); 70 } elseif (!empty($classNamespace)) { 71 $this->setNamespace($classNamespace); 72 } 73 74 // Determine arguments 75 if (is_array($argv)) { 76 $this->_argv = $argv; 77 } 78 79 // If method call, need to store some info on the class 80 $this->_class = $class->getName(); 81 82 // Perform some introspection 83 $this->_reflect(); 84 } 85 86 /** 87 * Return the reflection for the class that defines this method 88 * 89 * @return Zend_Server_Reflection_Class 90 */ 91 public function getDeclaringClass() 92 { 93 return $this->_classReflection; 94 } 95 96 /** 97 * Wakeup from serialization 98 * 99 * Reflection needs explicit instantiation to work correctly. Re-instantiate 100 * reflection object on wakeup. 101 * 102 * @return void 103 */ 104 public function __wakeup() 105 { 106 $this->_classReflection = new Zend_Server_Reflection_Class(new ReflectionClass($this->_class), $this->getNamespace(), $this->getInvokeArguments()); 107 $this->_reflection = new ReflectionMethod($this->_classReflection->getName(), $this->getName()); 108 } 109 110 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Fri Nov 28 20:29:05 2014 | Cross-referenced by PHPXref 0.7.1 |