我创建了一个名为Router
的类,可以像这样导入所有控制器:
<?php
include dirname(dirname(__FILE__)) . '\application\controllers\backend.php';
class Router
{
private $_backend;
public function __construct()
{
$this->_backend = new Backend();
}
/**
* Execute function
*/
public function submit($controller, $func)
{
// $this->_backend->index();
}
}
?>
现在这个类在我的router.php
文件中可用,此文件包含在其他任何人之前,我可以通过引用访问任何php文件中的路由器类:
$router = new Router();
我的任务是在index
文件中导入的backend
控制器中调用函数router.php
。在index.php
文件中我有:
$router->submit('backend', 'index');
如何匹配控制器名称并将作为参数传递的函数调用我的Router
类中的变量?
答案 0 :(得分:1)
<?php
class Router
{
public function submit($controller, $func)
{
// include dynamically the needed file
include dirname(dirname(__FILE__)) . '\application\controllers\' . $controller . '.php';
// The classname starts with capital
$Class = ucfirst($controller);
// create an instance
$ctr = new $Class();
// and call the requested function
$ctr->$func();
}
}