这是我之前的一个后续问题,我需要使用加载器调用控制器的index()方法。这就是我在装载机中提出的。这有效,但我不知道这是否是正确的做法。我搜索谷歌没有运气,因此不得不问。
public function controller($controller)
{
$file = 'controller/' . $controller . '.php';
$class = $controller;
if (file_exists($file)) {
include_once($file);
$controller = new $class($this->registry);
$controller->index();
} else {
echo 'Controller ' . $controller . ' not found';
}
}
在实例化$ controller之后,我把这个$controller->index();
调用了index方法。
另外,要检查函数是否可调用,我会阅读is_callable
和call_user_func
但不确定如何使用它们
public function controller($controller)
{
$file = 'controller/' . $controller . '.php';
$class = $controller;
if (file_exists($file)) {
include_once($file);
$controller = new $class($this->registry);
if (is_callable($controller)) {
}
} else {
echo 'Controller ' . $controller . ' not found';
}
}
如果你能提供帮助,将不胜感激。