码迷,mamicode.com
首页 > Web开发 > 详细

php中method_exists()和is_callable()如何进行语句判断

时间:2016-12-22 19:01:24      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:cti   技术分享   ret   语句   exists   private   function   new   int   

method_exists()和is_callable()方法进行判断。那么两则区别是什么呢?

已知类文件如下:

class Student{
private $alias=null;
private $name=‘‘;
public function __construct($name){
$this->name=$name;
}
private function setAlias($alias){
$this->alias=$alias;
}
public function getName(){
return $this->name;
}
}

当方法是private,protected类型的,method_exists会报错,is_callable会返回false。

实例

下面是判断某一对象中是否存在方法getName

通过method_exists实现
$xiaoming=new Student(‘xiaoming‘);
if (method_exists($xiaoming, ‘getName‘)) { 
echo ‘exist‘;
}else{
echo ‘not exist‘;
}
exit();

输出exist

通过is_callable实现
$xiaoming=new Student(‘xiaoming‘);
if (is_callable(array($xiaoming, ‘getName‘))) { 
echo ‘exist‘;
}else{
echo ‘not exist‘;
}
exit();

输出exist

下面是判断某一对象中是否存在方法setAlias
当使用method_exists的时候报错如下
技术分享
当使用is_callable的时候,输出not exist

php中method_exists()和is_callable()如何进行语句判断

标签:cti   技术分享   ret   语句   exists   private   function   new   int   

原文地址:http://www.cnblogs.com/2881064178dinfeng/p/6212191.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!