PHP 5.5.17 is available

ReflectionParameter::getClass

(PHP 5)

ReflectionParameter::getClassGet the type hinted class

Beschreibung

public ReflectionClass ReflectionParameter::getClass ( void )

Gets the class type hinted for the parameter as a ReflectionClass object.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verf├╝gung.

Parameter-Liste

Diese Funktion hat keine Parameter.

R├╝ckgabewerte

A ReflectionClass object.

Beispiele

Beispiel #1 Using the ReflectionParameter class

<?php
function foo(Exception $a) { }

$functionReflection = new ReflectionFunction('foo');
$parameters $functionReflection->getParameters();
$aParameter $parameters[0];

echo 
$aParameter->getClass()->name;
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Exception

Siehe auch

add a note add a note

User Contributed Notes 2 notes

up
2
tom at r dot je
2 years ago
ReflectionParameter::getClass() will cause a fatal error (and trigger __autoload) if the class required by the parameter is not defined.

Sometimes it's useful to only know the class name without needing the class to be loaded.

Here's a simple function that will retrieve only the class name without requiring the class to exist:

<?php
function getClassName(ReflectionParameter $param) {
   
preg_match('/\[\s\<\w+?>\s([\w]+)/s', $param->__toString(), $matches);
    return isset(
$matches[1]) ? $matches[1] : null;
}
?>
up
1
infernaz at gmail dot com
3 years ago
The method returns ReflectionClass object of parameter type class or NULL if none.

<?php

class A {
    function
b(B $c, array $d, $e) {
    }
}
class
B {
}

$refl = new ReflectionClass('A');
$par = $refl->getMethod('b')->getParameters();

var_dump($par[0]->getClass()->getName());  // outputs B
var_dump($par[1]->getClass());  // note that array type outputs NULL
var_dump($par[2]->getClass());  // outputs NULL

?>
To Top