class

PHP类中,判断方法是否为公开(public)属性

pader 网页与编程 发表于 2009年10月18日 18:23

php类中,只有 public 属性的方法可以通过外部调用,而我正在开发的 VgotFaster 若是通过 URI 访问控制器中的私有方法,便会出现错误,在网上找了半天也没有一个判断类中方法是什么属性的函数,在查看了手册后,发现我们可以通过 get_class_methods() 来得到相同的效果,get_class_methods() 是获取类中方法列表的数组,而且只获取或者是默认只获取公开的方法名称,那么我们就可以通过 in_array() 来判断指定的方法是否存在或者是否公开了。

例:

  1. class TestClasss {  
  2.     private function hello(){}  
  3.     public world(){}  
  4. }  
  5.  
  6. if(in_array('hello',get_class_methods(TestClass))) {  
  7.     echo '访问正常';  
  8. else {  
  9.     echo '无权访问';