PHP动态类名称laravel

Cha*_*ant 5 php class dynamic laravel

我正在使用Laravel并且无法使用字符串创建类.该类与调用它的类的名称空间相同.

以下代码在第三行失败,我不确定我做错了什么.

$class= "Variant";
$s = new Variant();
$nc = new $class();
Run Code Online (Sandbox Code Playgroud)

PoX*_*PoX 1

这实际上就是命名空间的用途:

$s = new \OneNamespaceName\Variant();

这通常用在工厂模式中。因此命名空间是每个文件的,因此您需要将其包含在 Variant 的类声明中。