无法在Yii2中使用变量类名启动模型对象

时间:2015-01-20 09:19:23

标签: php oop yii2

我想使用变量模型类启动模型对象。

        $model = new Role();
//      This works

        $className = "Role";
        $model = new $className();
//      This is not working
//      PHP Fatal Error – yii\base\ErrorException
//      Class 'Role' not found

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:3)

这意味着类Role\Role)在根命名空间中根本不存在。

您应该使用带有命名空间的完整类名,例如:

$className = 'app\models\Role';
$model = new $className();

您可以使用静态yii\base\Object方法获取从className()扩展的任何对象的完整类:

use app\models\Role;

$model = new Role::className();