php – 在调用call_user_func()之前检查函数是否存在于类中
发布时间:2020-05-25 09:48:46 所属栏目:PHP 来源:互联网
导读:在下面的代码中,我使用call_user_func()调用一个类. if(file_exists(controller/ . $this-controller . .controller.php)) { require(controller/ . $this-controller . .controller.php); call_user_func(array(
|
在下面的代码中,我使用call_user_func()调用一个类. if(file_exists('controller/' . $this->controller . '.controller.php')) {
require('controller/' . $this->controller . '.controller.php');
call_user_func(array($this->controller,$this->view));
} else {
echo 'error: controller not exists <br/>'. 'controller/' . $this->controller . '.controller.php';
}
让我们说控制器有如下代码. class test {
static function test_function() {
echo 'test';
}
}
当我调用call_user_func(‘test’,’test_function’)没有问题.但是当我调用一个不存在的函数时,它不起作用.现在我先检查te类测试中的函数是否存在,然后再调用函数call_user_func. 有没有一个函数来检查一个类是否存在一个函数,还有另外一个方法可以检查这个? 你正在寻找method_exists的初学者.但是,您应该检查什么也不是方法是可调用的.这是由有名的
is_callable功能完成的:
if (method_exists($this->controller,$this->view)
&& is_callable(array($this->controller,$this->view)))
{
call_user_func(
array($this->controller,$this->view)
);
}
但这只是事情的开始.您的代码段包含明确的需求调用,这表明您没有使用autoloader. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
