PHP动态类名laravel
我正在使用Laravel,在创建带有字符串的类时遇到问题。该类与调用它的类位于相同的名称空间中 下面的代码在第三行失败,我不确定我做错了什么PHP动态类名laravel,php,class,laravel,dynamic,Php,Class,Laravel,Dynamic,我正在使用Laravel,在创建带有字符串的类时遇到问题。该类与调用它的类位于相同的名称空间中 下面的代码在第三行失败,我不确定我做错了什么 $class= "Variant"; $s = new Variant(); $nc = new $class(); 这实际上就是名称空间的用途: $s=new\OneNamespaceName\Variant() 这通常用于工厂模式。因此名称空间是每个文件的,所以您需要将其包含在变量的类声明中。好的,答案是我需要类上的名称空间 在composer.js
$class= "Variant";
$s = new Variant();
$nc = new $class();
这实际上就是名称空间的用途:
$s=new\OneNamespaceName\Variant()代码>
这通常用于工厂模式。因此名称空间是每个文件的,所以您需要将其包含在变量的类声明中。好的,答案是我需要类上的名称空间
在composer.json中
"psr-4": {
"SplitTest\\": "app/library/SplitTest/"
}
然后这样调用该类:
$class= "//SplitTest//Variant";
$s = new Variant();
$nc = new $class();
如果要访问psr-4定义,则需要运行
php artisan dump-auto
尝试将完整名称空间添加到字符串类,看看它是否像:“\\Foo\\Bar\\Variant”。Fails=您遇到了什么错误?@rainer我尝试了几种不同的组合,但这是我的名称空间$class=“\\SplitTest\\Variant”类的可能重复