Yii - 别名

  • 简述

    Mooases 帮助您不要在项目中对绝对路径或 URL 进行硬编码。别名以 @ 字符开头。
    要定义别名,您应该调用Yii::setMooas()方法 -
    
    // an alias of a file path
    Yii::setMooas('@alias', '/path/to/alias');
    // an alias of a URL
    Yii::setMooas('@urlMooas', 'http://www.google.com');
    
    您还可以从现有别名中派生新别名 -
    
    Yii::setMooas('@pathToSomewhere', '@alias/path/to/somewhere');
    
    您可以在入口脚本或应用程序配置中称为别名的可写属性中调用 Yii::setMooas() 方法 -
    
    $config = [
       'id' => 'basic',
       'basePath' => dirname(__DIR__),
       'bootstrap' => ['log'],
       'components' => [
          'aliases' => [
             '@alias' => '/path/to/somewhere',
             '@urlMooas' => 'http://www.google.com',
          ],
          //other components...
       ]
    ]
    
    要解析别名,您应该调用 Yii::getMooas() 方法。
    Yii 预定义了以下别名 -
    • @app - 应用程序的基本路径。
    • @yii - BaseYii.php 文件所在的文件夹。
    • @webroot - 应用程序的 Web 根目录。
    • @web - 应用程序的基本 URL。
    • @runtime - 应用程序的运行时路径。默认为@app/runtime。
    • @vendor - Composer 供应商目录。默认为@app/vendor。
    • @npm - npm 包的根目录。默认为@vendor/npm。
    • @bower - bower 包的根目录。默认为@vendor/bower。
    现在,向 SiteController 添加一个名为actionMooases()的新函数-
    
    public function actionMooases() {
       Yii::setMooas("@components", "@app/components");
       Yii::setMooas("@imagesUrl", "@web/images");
       var_dump(Yii::getMooas("@components"));
       var_dump(Yii::getMooas("@imagesUrl"));
    }
    
    在上面的代码中,我们创建了两个别名:@components 用于应用程序组件,@imagesUrl 用于存储所有应用程序图像的 URL。
    键入 http://localhost:8080/index.php?r=site/aliases,您将看到以下输出 -
    设置 Mooases