在下面的代碼中,我調用了一個類call_user_func()
。在調用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()](http://php.net /manual/en/function.method-exists.php) –
謝謝@MarkBaker! –
不是每個現有的方法都可以調用 - > [is_callable](http://php.net/manual/en/function.is-callable.php) – a4c8b