函数名称:ReflectionMethod::isPublic()
适用版本:PHP 5 >= 5.0.0, PHP 7
函数说明:ReflectionMethod::isPublic() 方法用于检查方法是否为公共方法。
用法示例:
class MyClass {
public function publicMethod() {
// 公共方法
}
private function privateMethod() {
// 私有方法
}
protected function protectedMethod() {
// 受保护方法
}
}
$reflection = new ReflectionMethod('MyClass', 'publicMethod');
if ($reflection->isPublic()) {
echo "该方法是公共方法";
} else {
echo "该方法不是公共方法";
}
输出结果:
该方法是公共方法
解释说明:
- 首先,我们定义了一个名为
MyClass
的类,并在其中定义了三种不同访问修饰符(public、private、protected)的方法。 - 然后,我们通过
ReflectionMethod
类的构造函数创建了一个$reflection
对象,该对象表示了MyClass
类中的publicMethod()
方法。 - 接下来,我们使用
isPublic()
方法来检查该方法是否为公共方法。如果是公共方法,则输出"该方法是公共方法";否则,输出"该方法不是公共方法"。
注意事项:
ReflectionMethod::isPublic()
方法只能用于反射公共方法,不能用于反射其他访问修饰符(private、protected)的方法。- 在上述示例中,我们通过传递类名和方法名作为参数创建了一个
ReflectionMethod
对象。你也可以使用ReflectionClass
类来获取类的反射对象,然后再通过getMethod()
方法获取方法的反射对象。