Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为什么我不能在控制器';在Yii 2中的行动_Php_Yii2_Alias - Fatal编程技术网

Php 为什么我不能在控制器';在Yii 2中的行动

Php 为什么我不能在控制器';在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',

在my
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将在全局命名空间中找到它。谢谢