2013-06-27 51 views
0

這裏有三種方法function_one,function_twofunction_threeExample類。如何知道該方法是公開的,受保護的或私人的PHP?

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

可以使用ReflectionClassReflectionMethod做到這一點:

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