无法在 Yii2 中使用变量类名初始化模型对象

Unable to initiate model object using variable classname in Yii2

我想使用变量模型启动一个模型对象class。

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

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

我们将不胜感激。

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

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

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

您可以获得从 yii\base\Object with static className() 方法扩展的任何对象的完整 class:

use app\models\Role;

$model = new Role::className();