在类名中使用变量?

时间:2017-10-24 22:58:48

标签: php namespaces

所以我定义了一些命名空间,并且我想要实例化这样的新对象:

$this->controller = new \controller\$this->controller($this->cfg);

但是我得到了

  

解析错误:语法错误,意外'$ this'(T_VARIABLE),期待标识符(T_STRING)

我该如何做到这一点?

1 个答案:

答案 0 :(得分:2)

您似乎正在尝试动态确定要实例化的对象的类名。为此,您可以创建一个包含带有类名的字符串的变量,然后对该变量进行实例化:

$string = $someObject->someMethod();
$class = '\\controller\\' . $string;
$newObject = new $class();