我定义了如下数据..
define('INDEX_CONTROLLER', 'test');
我想像下面这样使用它..
require_once 'controllers/' . INDEX_CONTROLLER . '.php';
$this->controller = new INDEX_CONTROLLER();
我在下面收到错误..
致命错误:在第 13 行的 /var/www/own/boot.php 中找不到类 'INDEX_CONTROLLER'
You can set it equal to a variable and then call it:
$controller = INDEX_CONTROLLER;
$this->controller = new $controller();
更好地使用反射
DEFINE('INDEX_CONTROLLER', 'test');
$rc= new ReflectionClass(INDEX_CONTROLLER);
$this->controller = $rc->newInstance();
或者如果您使用 php5.4+,则在一行中
$this->controller = (new ReflectionClass(INDEX_CONTROLLER))->newInstance();
您可以在此处阅读有关反射的更多信息:http: //php.net/manual/en/book.reflection.php