PHP如何创建从方法调用返回为字符串的类的实例

时间:2018-01-22 13:54:12

标签: php

如何拨打这样的电话:

$instance = new ($b->method($id))();

其中method(int $id): string返回类名?

上面的构造给我一个语法错误,但这没关系:

$className = $b->method($id);
$instance = new $className();

我只是想知道如果如何可以完成。 我很惊讶括号不能说括号$b->method($id)的内容应该先执行,结果字符串用于对象实例化。 我可能不会在生产代码中使用它,但我仍然感兴趣。

1 个答案:

答案 0 :(得分:1)

这在PHP上是不可能的,因为'new'需要带字符串的字符串或变量。 ()字符用于aritmethic关联和语言结构上的参数,你不能将调用的结果分配给new。