Php 变量中具有名称的新对象

Php 变量中具有名称的新对象,php,laravel,class,object,model,Php,Laravel,Class,Object,Model,我试图启动一个具有动态路径的对象。我有一个带有型号名称的变量$model $model = "foo"; $class = new \Path\To\$model(); 我得到了错误 Parse error: syntax error, unexpected '$model' (T_VARIABLE), expecting identifier (T_STRING) 如果我尝试$class=new\Path\To\{$model}() 我得到了错误 Parse error: syntax

我试图启动一个具有动态路径的对象。我有一个带有型号名称的变量
$model

$model = "foo";
$class = new \Path\To\$model();
我得到了错误

Parse error: syntax error, unexpected '$model' (T_VARIABLE), expecting identifier (T_STRING)
如果我尝试
$class=new\Path\To\{$model}()
我得到了错误

 Parse error: syntax error, unexpected '{', expecting identifier (T_STRING)
当我尝试

namespace \App\Models
$class = new $model(); 
我发现错误
未找到类“foo”

当我尝试
$class=new\Path\To\foo()时它可以工作

有什么想法吗

试试看:

$class = "\Path\To\foo";
$object = new $class();
或:

尝试:

或:


您可以将路径存储在变量中:

$path = "\Path\To\\";
然后生成类名,如下所示:

$className = $path.$model;
$class = new $className(); 

您可以将路径存储在变量中:

$path = "\Path\To\\";
然后生成类名,如下所示:

$className = $path.$model;
$class = new $className();