在应用配置文件中的 Yii2 中设置别名

2022-01-04 00:00:00 php yii2 yii

我正在尝试在 Yii2 中设置一个 alias 但我得到了一个 Invalid Parameter/Invalid path alias 下面的代码放在应用程序配置文件中:

I'm trying to set an alias in Yii2 but I'm getting a Invalid Parameter / Invalid path alias for the below code that is placed in the app config file:

'aliases' => [
    // Set the editor language dir
    '@editor_lang_dir' => '@webroot/scripts/sceditor/languages/',       
],

如果我删除 @ 就可以了.

If I remove the @ it works.

我注意到你可以这样做:

I noticed you can do this:

Yii::setAlias('@foobar', '@foo/bar');

...但我更愿意在应用程序配置文件中设置它.这不可能吗?如果是,怎么办?

...but I would prefer to set it within the app config file. Is this not possible? If so, how?

推荐答案

config 文件夹中创建文件 aliases.php.并把这个:

In config folder create file aliases.php. And put this:

Yii::setAlias('webroot', dirname(dirname(__DIR__)) . '/web');
Yii::setAlias('editor_lang_dir', '@webroot/scripts/sceditor/languages/');

index.php 文件中的 web 文件夹中:require(__DIR__ .'/../config/aliases.php');

In web folder in index.php file put: require(__DIR__ . '/../config/aliases.php');

之前:

(new yiiwebApplication($config))->run();

如果在视图文件中运行echo:

If run echo in view file:

echo Yii::getAlias('@editor_lang_dir');

显示如下:

C:OpenServerdomainsyii2_basic/web/scripts/sceditor/languages/

相关文章