使用变量名实例化类


Using variable names to instantiate a class

我正在尝试这样做:

$controller = new $controller . 'Controller';

如果$controllerPages,它将创建PagesController类的新实例。我得到了这个错误,然而:

Fatal error: Class 'Pages' not found in C:'xampp'htdocs'test'application'app.php on line 25

该类名为PagesController

我以前在PHP中看到过这样做,但我找不到任何关于它的文档。

执行此

$controller = $controller . 'Controller';
$controller = new $controller();

尝试:

$controller .= 'Controller';
$controller = new $controller();

文档:
构造函数和析构函数
变量

只有在指定了完整的命名空间时,上述答案才会起作用,无论您以前使用的是use还是namespace

use 'App'Article'Health as Health;
$article = new Health; // works fine
$classname = "Health";
$article = new $classname(); // Class 'Health' not found.
$c = "''App''Article''$classname";
$article = new $c(); // works fine