array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'tr', ), 'this' => array ( 0 => 'reflectionparameter.gettype.php', 1 => 'ReflectionParameter::getType', ), 'up' => array ( 0 => 'class.reflectionparameter.php', 1 => 'ReflectionParameter', ), 'prev' => array ( 0 => 'reflectionparameter.getposition.php', 1 => 'ReflectionParameter::getPosition', ), 'next' => array ( 0 => 'reflectionparameter.hastype.php', 1 => 'ReflectionParameter::hasType', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'en', 'path' => 'reference/reflection/reflectionparameter/gettype.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 7, PHP 8)
ReflectionParameter::getType — Gets a parameter's type
Gets the associated type of a parameter.
Bu işlevin bağımsız değişkeni yoktur.
Returns a ReflectionType object if a parameter type is
specified, null
otherwise.
Örnek 1 ReflectionParameter::getType() Usage as of PHP 7.1.0
As of PHP 7.1.0, ReflectionType::__toString() is deprecated, and ReflectionParameter::getType() may return an instance of ReflectionNamedType. To get the name of the parameter type, ReflectionNamedType() is available in this case.
<?php
function someFunction(int $param, $param2) {}
$reflectionFunc = new ReflectionFunction('someFunction');
$reflectionParams = $reflectionFunc->getParameters();
$reflectionType1 = $reflectionParams[0]->getType();
$reflectionType2 = $reflectionParams[1]->getType();
assert($reflectionType1 instanceof ReflectionNamedType);
echo $reflectionType1->getName(), PHP_EOL;
var_dump($reflectionType2);
?>
Yukarıdaki örneğin çıktısı:
int NULL
Örnek 2 ReflectionParameter::getType() Usage before PHP 7.1.0
<?php
function someFunction(int $param, $param2) {}
$reflectionFunc = new ReflectionFunction('someFunction');
$reflectionParams = $reflectionFunc->getParameters();
$reflectionType1 = $reflectionParams[0]->getType();
$reflectionType2 = $reflectionParams[1]->getType();
echo $reflectionType1, PHP_EOL;
var_dump($reflectionType2);
?>
Yukarıdaki örneğin PHP 7.0 çıktısı:
int NULL
Örnek 3 ReflectionParameter::getType() Usage in PHP 8.0.0 and later
As of PHP 8.0.0, this method may return a ReflectionNamedType instance or
a ReflectionUnionType instance. The latter is a collection of the former.
To analyze a type, it is often convenient to normalize it to an array of ReflectionNamedType
objects. The following function will return an array of 0
or more ReflectionNamedType
instances.
<?php
function getAllTypes(ReflectionParameter $reflectionParameter): array
{
$reflectionType = $reflectionParameter->getType();
if (!$reflectionType) return [];
return $reflectionType instanceof ReflectionUnionType
? $reflectionType->getTypes()
: [$reflectionType];
}
?>