©
                    本文档使用
                    php中文网手册 发布
                
(PHP 5)
ReflectionParameter::getClass — Get the type hinted class
Gets the class type hinted for the parameter as a ReflectionClass object.
本函数还未编写文档,仅有参数列表。
此函数没有参数。
A ReflectionClass object.
Example #1 Using the ReflectionParameter class
  <?php
 function  foo ( Exception $a ) { }
 $functionReflection  = new  ReflectionFunction ( 'foo' );
 $parameters  =  $functionReflection -> getParameters ();
 $aParameter  =  $parameters [ 0 ];
echo  $aParameter -> getClass ()-> name ;
 ?>   以上例程会输出:
Exception
[#1] tom at r dot je [2012-05-11 09:15:14]
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;
}
?>
[#2] infernaz at gmail dot com [2011-01-31 12:09:35]
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
?>