Php 为什么我不能在控制器';在Yii 2中的行动
在myPhp 为什么我不能在控制器';在Yii 2中的行动,php,yii2,alias,Php,Yii2,Alias,在mySiteController->actionLogin中,我试图设置类的类别名LoginForm。下面是失败的尝试 public function actionLogin() { if (!\Yii::$app->user->isGuest) { return $this->goHome(); } class_alias('LoginForm', 'lf_alias'); class_alias('LoginForm',
SiteController
->actionLogin
中,我试图设置类的类别名LoginForm
。下面是失败的尝试
public function actionLogin()
{
if (!\Yii::$app->user->isGuest) {
return $this->goHome();
}
class_alias('LoginForm', 'lf_alias');
class_alias('LoginForm', 'lf_alias', true);
class_alias('common\models\LoginForm', 'common\models\lf_alias');
class_alias('common\models\LoginForm', 'common\models\lf_alias', true);
class_alias('common\models\LoginForm', 'lf_alias', true);
$model = new lf_alias();
// ... rest of the code
我得到以下错误
PHP Fatal Error – yii\base\ErrorException
Class 'frontend\controllers\lf_alias' not found
我正在使用Yi2高级模板您可以使用操作符设置名称空间\类别名使用:
use common\models\LoginForm as lf_alias
您可以使用运算符使用设置名称空间\类别名:
use common\models\LoginForm as lf_alias
所以你必须这样称呼它
$model = new \anyname();
所以你必须这样称呼它
$model = new \anyname();
你为什么使用类别名?我正在尝试学习类别名,自动加载类别名最好避免使用它们,并坚持使用名称空间。你为什么使用类别名?我正在尝试学习类别名,别名自动加载的Classic最好完全避免使用它们并坚持名称空间有限这是一种很好的方法,但对我的问题没有确切的答案肯定这是一种很好的方法,但对我的问题没有确切的答案这不起作用,抛出了中提到的错误question@SohelAhmedM我刚才也测试过了,工作正常。您使用的是哪种PHP和Yii版本?在创建新对象时,确实在别名前加了反斜杠“\”?哦,是的,我错过了反斜杠,谢谢,一旦创建了别名,PHP将在全局命名空间中找到它。谢谢。这不起作用,抛出中提到的错误question@SohelAhmedM我刚才也测试了它,效果很好。您使用的是哪个PHP和Yii版本?在创建新对象时,确保在别名前加反斜杠“\”?哦,是的,我错过了反斜杠,谢谢,一旦创建了别名,PHP将在全局命名空间中找到它。谢谢