I am trying to initiate an object with a dynamic path. I have the variable $model
with the model name.
$model = "foo";
$class = new \Path\To\$model();
I get the error
Parse error: syntax error, unexpected '$model' (T_VARIABLE), expecting identifier (T_STRING)
If I try $class = new \Path\To\{$model}();
I get the error
Parse error: syntax error, unexpected '{', expecting identifier (T_STRING)
When I try
namespace \App\Models
$class = new $model();
I get the error Class 'foo' not found
When I try $class = new \Path\To\foo();
it works.
Any ideas?
Try:
$class = "\Path\To\foo";
$object = new $class();
Or:
use Path\To\foo;
$class = foo::class;
$object = new $class();
Collected from the Internet
Please contact [email protected] to delete if infringement.
Comments