无法在 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();
我想使用变量模型启动一个模型对象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();