以下PHP代码
public function go()
{
$controller = ucfirst($this->getController());
$method = $this->getAction();
require_once VENDOR_PATH . DS . 'Core/Controller/Controller.php';
require_once VENDOR_PATH . DS . 'Application/Controller/' . $controller . '.php';
$ctl = new $controller;
$ctl->$method();
}
正在制作
Fatal error: Class 'Index' not found in /path/to/core/Dispatch.php on line 108
但是,我确认核心控制器和应用程序控制器都在加载。
Controller.php这样:
namespace Core\Controller;
class Controller
{
public function __construct()
{
// @TODO
}
}
索引控制器
namespace Application\Controller;
use Core\Controller\Controller;
class Index extends \Core\Controller\Controller {
public $input;
public function __construct()
{
parent::__construct();
die('In Application Controller');
}
}
答案 0 :(得分:2)
在这一行$ctl = new $controller;
$ controller变量必须包含完整路径,包括名称空间