怎么在php中判断某个类方法是否存在且能被调用

时间:2021-04-16

  在php中进行动态方法调用时,需要先确定该方法是否存在。

  1.可用get_class_methods方法来获取某个类或对象的所有方法名。

  2.定义一个类class Cls180605{ public function getprop1();}

  print_r(get_class_methods('Cls180605'));将会打印出Cls180605类的所有方法,此处会打印出"getprop1"。

  3.在动态方法调用的地方加上一个判断:

  if(in_array($methodName,get_class_methods('Cls180605')))就可以判断动态调用的方法在类Cls180605中是否存在。

  4.更保险的做法是用is_callable,该方法可以判断动态方法是否存在且可被调用,有些方法如Private方法尽管存在但不能被调用。

  5.is_callable的使用形式:

  $cls180605 = new Cls180605();

  is_callable(array($cls180605 , 'getProp1'));

  如果可调用返回true,否则返回false。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章