如何知道PHP中的方法是Public,Protected还是Private?

时间:2013-06-27 11:14:57

标签: php class oop methods access-modifiers

function_one类中有三种方法function_twofunction_threeExample

class Example
{
    private function function_one() { ... }

    protected function function_two() { ... }

    public function function_three() { ... }

    public function check_here()
    {
        if (is_public_method('function_three')) {
            return true;
        } else {
            return false;
        }
    }
}

所以,我想知道哪种访问修饰符(publicprotectedprivate)是方法。虚构的is_public_method应该返回true,因为function_threepublic方法。有没有办法做到这一点?

2 个答案:

答案 0 :(得分:2)

您可以使用ReflectionClassReflectionMethod执行此操作:

public function check_here()
{
    $obj = new ReflectionClass($this);
    return $obj->getMethod('function_three')->isPublic();
}

答案 1 :(得分:1)

您需要查看ReflectionMethodisPublic方法。