📜  PHP |反射 getModifierNames()函数(1)

📅  最后修改于: 2023-12-03 15:18:26.385000             🧑  作者: Mango

PHP | 反射 getModifierNames() 函数

在 PHP 中,反射是一种强大的特性,允许你在运行时访问并操作类、方法和属性等结构。针对类和方法的反射,可以使用 getModifierNames() 函数来获取它们的修饰符,包括 public、private、protected、static、final 和 abstract 等。

函数定义
public array ReflectionClass::getModifierNames ( void )
参数

该函数不需要任何参数。

返回值

返回修饰符名称的数组。如果没有修饰符,返回一个空数组。

示例
class MyClass {
    private static final $myStaticVar;
    public function myPublicMethod() {}
    protected function myProtectedMethod() {}
    private function myPrivateMethod() {}
}

$reflectionClass = new ReflectionClass('MyClass');
$methods = $reflectionClass->getMethods();
foreach ($methods as $method) {
    echo $method->name . '() modifiers: ' . implode(' ', $method->getModifierNames()) . "<br />\n";
}

输出:

myPublicMethod() modifiers: public
myProtectedMethod() modifiers: protected
myPrivateMethod() modifiers: private
补充说明
  • 该函数只适用于反射类和反射方法,不能用于反射属性。
  • 返回值数组中的元素顺序与原始修饰符的顺序无关。
  • 如果一个类或方法没有任何修饰符,返回一个空数组。
  • 该函数实际上是 getModifiers() 函数的变体,不同之处在于 getModifiers() 函数返回修饰符的数字码,而 getModifierNames() 函数返回修饰符名称的数组。