文字

ReflectionParameter::__construct

(PHP 5)

ReflectionParameter::__constructConstruct

说明

public ReflectionParameter::__construct ( string $function , string $parameter )

Constructs a ReflectionParameter class.

Warning

本函数还未编写文档,仅有参数列表。

参数

function

The function to reflect parameters from.

parameter

The parameter.

返回值

没有返回值。

范例

Example #1 Using the ReflectionParameter class

<?php
function  foo ( $a $b $c ) { }
function 
bar ( Exception $a , & $b $c ) { }
function 
baz ( ReflectionFunction $a $b  1 $c  null ) { }
function 
abc () { }

$reflect  = new  ReflectionFunction ( 'foo' );

echo 
$reflect ;

foreach (
$reflect -> getParameters () as  $i  =>  $param ) {
    
printf (
        
"-- Parameter #%d: %s {\n" .
        
"   Class: %s\n" .
        
"   Allows NULL: %s\n" .
        
"   Passed to by reference: %s\n" .
        
"   Is optional?: %s\n" .
        
"}\n" ,
        
$i // $param->getPosition() can be used from PHP 5.2.3
        
$param -> getName (),
        
var_export ( $param -> getClass (),  1 ),
        
var_export ( $param -> allowsNull (),  1 ),
        
var_export ( $param -> isPassedByReference (),  1 ),
        
$param -> isOptional () ?  'yes'  'no'
    
);
}
?>

以上例程的输出类似于:

Function [ <user> function foo ] {
  @@ /Users/philip/cvs/phpdoc/a 2 - 2  - Parameters [3] {
    Parameter #0 [ <required> $a ]
    Parameter #1 [ <required> $b ]
    Parameter #2 [ <required> $c ]
  }
}
-- Parameter #0: a {
   Class: NULL
   Allows NULL: true
   Passed to by reference: false
   Is optional?: no
}
-- Parameter #1: b {
   Class: NULL
   Allows NULL: true
   Passed to by reference: false
   Is optional?: no
}
-- Parameter #2: c {
   Class: NULL
   Allows NULL: true
   Passed to by reference: false
   Is optional?: no
}

参见

  • ReflectionFunction::__construct() - Constructs a ReflectionFunction object
  • ReflectionMethod::__construct() - ReflectionMethod 的构造函数
  • Constructors

用户评论:

[#1] tracid2008 t gmail o com [2011-12-06 03:31:02]

You also can use a class instead of a function name. Just use an array like that
<?php
$reflect 
= new ReflectionParameter(array('className''methodName'), 'property');
?>

上一篇: 下一篇: