我定义了如下数据。
define('INDEX_CONTROLLER', 'test');
我想在下面使用它。
require_once 'controllers/' . INDEX_CONTROLLER . '.php';
$this->controller = new INDEX_CONTROLLER();
我收到以下错误..
致命错误:未找到“INDEX_CONTROLLER”类 第13行的/var/www/own/boot.php
答案 0 :(得分:4)
您可以将其设置为等于变量,然后调用它:
$controller = INDEX_CONTROLLER;
$this->controller = new $controller();
答案 1 :(得分:2)
更好地使用思考
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