В следующем коде я вызываю класс с 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
.
Есть ли функция, которая проверяет, существует ли в классе функция или есть другой способ, как я могу это проверить?