ReflectionClass::getMethods
ReflectionClass::getMethods
(PHP 5, PHP 7)
ReflectionClass::getMethods - 获取一组方法
描述
public array ReflectionClass::getMethods ([ int $filter ] )
获取该类的一组方法。
参数
filter
筛选结果以仅包含具有某些属性的方法。默认为不过滤。
任何按位析取ReflectionMethod::IS_STATIC
,ReflectionMethod::IS_PUBLIC
,ReflectionMethod::IS_PROTECTED
,ReflectionMethod::IS_PRIVATE
,ReflectionMethod::IS_ABSTRACT
,ReflectionMethod::IS_FINAL
,让所有方法的任何
给定的属性将被退回。
注意
:请注意
,其他按位操作(例如〜)
无法按预期工作。换句话说,例如,不可能检索所有非静态方法。
返回值
反映每种方法的ReflectionMethod对象数组。
示例
Example#1 ReflectionClass::getMethods()的基本用法
<?php
class Apple {
public function firstMethod() { }
final protected function secondMethod() { }
private static function thirdMethod() { }
}
$class = new ReflectionClass('Apple'
$methods = $class->getMethods(
var_dump($methods
?>
上面的例子将输出:
array(3) {
[0]=>
&object(ReflectionMethod)#2 (2) {
["name"]=>
string(11) "firstMethod"
["class"]=>
string(5) "Apple"
}
[1]=>
&object(ReflectionMethod)#3 (2) {
["name"]=>
string(12) "secondMethod"
["class"]=>
string(5) "Apple"
}
[2]=>
&object(ReflectionMethod)#4 (2) {
["name"]=>
string(11) "thirdMethod"
["class"]=>
string(5) "Apple"
}
}
Example#2从ReflectionClass::getMethods()过滤结果
<?php
class Apple {
public function firstMethod() { }
final protected function secondMethod() { }
private static function thirdMethod() { }
}
$class = new ReflectionClass('Apple'
$methods = $class->getMethods(ReflectionMethod::IS_STATIC | ReflectionMethod::IS_FINAL
var_dump($methods
?>
上面的例子将输出:
array(2) {
[0]=>
&object(ReflectionMethod)#2 (2) {
["name"]=>
string(12) "secondMethod"
["class"]=>
string(5) "Apple"
}
[1]=>
&object(ReflectionMethod)#3 (2) {
["name"]=>
string(11) "thirdMethod"
["class"]=>
string(5) "Apple"
}
}
另请参阅
- ReflectionClass::getMethod() - 获取类方法的ReflectionMethod。
- get_class_methods() - 获取类方法的名称
← ReflectionClass::getMethod
ReflectionClass::getModifiers →