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


Unable to initiate model object using variable classname in 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

任何帮助将不胜感激。

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

您应该将完整的类名与命名空间一起使用,例如:

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

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

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