D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
opt
/
psa
/
admin
/
plib
/
vendor
/
plesk
/
zf1
/
library
/
Zend
/
Reflection
/
Filename :
Parameter.php
back
Copy
<?php /** * Zend Framework * * LICENSE * * This source file is subject to the new BSD license that is bundled * with this package in the file LICENSE.txt. * It is also available through the world-wide-web at this URL: * http://framework.zend.com/license/new-bsd * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to license@zend.com so we can send you a copy immediately. * * @category Zend * @package Zend_Reflection * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com) * @license http://framework.zend.com/license/new-bsd New BSD License * @version $Id$ */ /** * @category Zend * @package Zend_Reflection * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com) * @license http://framework.zend.com/license/new-bsd New BSD License */ class Zend_Reflection_Parameter extends ReflectionParameter { /** * @var bool */ protected $_isFromMethod = false; /** * Get declaring class reflection object * * @param string $reflectionClass Reflection class to use * @return Zend_Reflection_Class */ public function getDeclaringClass($reflectionClass = 'Zend_Reflection_Class'): Zend_Reflection_Class { $phpReflection = parent::getDeclaringClass(); $zendReflection = new $reflectionClass($phpReflection->getName()); if (!$zendReflection instanceof Zend_Reflection_Class) { ;// require_once 'Zend/Reflection/Exception.php'; throw new Zend_Reflection_Exception('Invalid reflection class provided; must extend Zend_Reflection_Class'); } unset($phpReflection); return $zendReflection; } /** * Get class reflection object * * @param string $reflectionClass Reflection class to use * @return Zend_Reflection_Class|null */ public function getClass($reflectionClass = 'Zend_Reflection_Class'): ?Zend_Reflection_Class { $phpReflection = parent::getClass(); if($phpReflection == null) { return null; } $zendReflection = new $reflectionClass($phpReflection->getName()); if (!$zendReflection instanceof Zend_Reflection_Class) { ;// require_once 'Zend/Reflection/Exception.php'; throw new Zend_Reflection_Exception('Invalid reflection class provided; must extend Zend_Reflection_Class'); } unset($phpReflection); return $zendReflection; } /** * Get declaring function reflection object * * @param string $reflectionClass Reflection class to use * @return Zend_Reflection_Function|Zend_Reflection_Method */ public function getDeclaringFunction($reflectionClass = null): Zend_Reflection_Function|Zend_Reflection_Method { $phpReflection = parent::getDeclaringFunction(); if ($phpReflection instanceof ReflectionMethod) { $baseClass = 'Zend_Reflection_Method'; if (null === $reflectionClass) { $reflectionClass = $baseClass; } $zendReflection = new $reflectionClass($this->getDeclaringClass()->getName(), $phpReflection->getName()); } else { $baseClass = 'Zend_Reflection_Function'; if (null === $reflectionClass) { $reflectionClass = $baseClass; } $zendReflection = new $reflectionClass($phpReflection->getName()); } if (!$zendReflection instanceof $baseClass) { ;// require_once 'Zend/Reflection/Exception.php'; throw new Zend_Reflection_Exception('Invalid reflection class provided; must extend ' . $baseClass); } unset($phpReflection); return $zendReflection; } /** * Get parameter type * * @return string|null */ #[ReturnTypeWillChange] public function getType(): ?string { if ($docblock = $this->getDeclaringFunction()->getDocblock()) { $params = $docblock->getTags('param'); if (isset($params[$this->getPosition()])) { return $params[$this->getPosition()]->getType(); } } return null; } }