Verzeichnisstruktur phpBB-3.2.0
- Veröffentlicht
- 06.01.2017
So funktioniert es
|
Auf das letzte Element klicken. Dies geht jeweils ein Schritt zurück |
Auf das Icon klicken, dies öffnet das Verzeichnis. Nochmal klicken schließt das Verzeichnis. |
|
(Beispiel Datei-Icons)
|
Auf das Icon klicken um den Quellcode anzuzeigen |
ParameterReflection.php
001 <?php
002 /**
003 * Zend Framework (http://framework.zend.com/)
004 *
005 * @link http://github.com/zendframework/zf2 for the canonical source repository
006 * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
007 * @license http://framework.zend.com/license/new-bsd New BSD License
008 */
009
010 namespace Zend\Code\Reflection;
011
012 use ReflectionParameter;
013
014 class ParameterReflection extends ReflectionParameter implements ReflectionInterface
015 {
016 /**
017 * @var bool
018 */
019 protected $isFromMethod = false;
020
021 /**
022 * Get declaring class reflection object
023 *
024 * @return ClassReflection
025 */
026 public function getDeclaringClass()
027 {
028 $phpReflection = parent::getDeclaringClass();
029 $zendReflection = new ClassReflection($phpReflection->getName());
030 unset($phpReflection);
031
032 return $zendReflection;
033 }
034
035 /**
036 * Get class reflection object
037 *
038 * @return ClassReflection
039 */
040 public function getClass()
041 {
042 $phpReflection = parent::getClass();
043 if ($phpReflection === null) {
044 return;
045 }
046
047 $zendReflection = new ClassReflection($phpReflection->getName());
048 unset($phpReflection);
049
050 return $zendReflection;
051 }
052
053 /**
054 * Get declaring function reflection object
055 *
056 * @return FunctionReflection|MethodReflection
057 */
058 public function getDeclaringFunction()
059 {
060 $phpReflection = parent::getDeclaringFunction();
061 if ($phpReflection instanceof \ReflectionMethod) {
062 $zendReflection = new MethodReflection($this->getDeclaringClass()->getName(), $phpReflection->getName());
063 } else {
064 $zendReflection = new FunctionReflection($phpReflection->getName());
065 }
066 unset($phpReflection);
067
068 return $zendReflection;
069 }
070
071 /**
072 * Get parameter type
073 *
074 * @return string
075 */
076 public function getType()
077 {
078 if ($this->isArray()) {
079 return 'array';
080 } elseif (method_exists($this, 'isCallable') && $this->isCallable()) {
081 return 'callable';
082 }
083
084 if (($class = $this->getClass()) instanceof \ReflectionClass) {
085 return $class->getName();
086 }
087
088 $docBlock = $this->getDeclaringFunction()->getDocBlock();
089 if (!$docBlock instanceof DocBlockReflection) {
090 return;
091 }
092
093 $params = $docBlock->getTags('param');
094 if (isset($params[$this->getPosition()])) {
095 return $params[$this->getPosition()]->getType();
096 }
097
098 return;
099 }
100
101 /**
102 * @return string
103 */
104 public function toString()
105 {
106 return parent::__toString();
107 }
108
109 /**
110 * @return string
111 */
112 public function __toString()
113 {
114 return parent::__toString();
115 }
116 }
117