yii別名的定義和別名的獲取以及別名的使用

遠方*發表於2020-12-06

1.別名的定義規則
別名用來表示檔案路徑和 URL,這樣就避免了在程式碼中硬編碼一些絕對路徑和 URL。 一個別名必須以 @ 字元開頭,以區別於傳統的檔案路徑和 URL。 沒有前導 @ 定義的別名將以 @ 字元作為字首。
在配置檔案中定義別名
2.配置檔案main-local.php中定義

'aliases' => [
        '@lincheng' => '/path/to/foo',
    ], 
$config = [
    'components' => [
        'request' => [
            // !!! insert a secret key in the following (if it is empty) - this is required by cookie validation
            'cookieValidationKey' => 'BbrwMnBSkmMSoFKXSxr9a8DKal4jHaug',
        ],
        'view' => [
           
        ],
        'i18n' => [
            
        ],
        'urlManager' => [
            'enablePrettyUrl' => true,
            'showScriptName' => false,
            'enableStrictParsing' => false,
        ],
        
        'sms123' => [
            'class' => 'backend\components\Sms'
        ]
    ],
    // 'controllerNamespace' => 'backend\control',
    'defaultRoute' => 'test',
    'viewPath' => '@backend/template',
    // 'layoutPath' => '@backend/template/public'
    // 'layout' => false
    // 'layout' => 'common'
    'language' => 'zh-CN',
    'modules' => [
        'shop' => [
            'class' => 'backend\modules\shop\Module',
        ]
    ],
    'aliases' => [
        '@lincheng' => '/path/to/foo',
    ],   
];

3.控制器中獲取和定義

public function actionIndex18() {
        echo "<pre>";
        // print_r(Yii::$app->view);
        // print_r(Yii::$app->get('view'));
        // print_r(Yii::$app->getView());
        // print_r(Yii::$app->get('db'));
        // Yii::$app->sms123->send('13900000000');
        // backend/web/css/site.css 
        // backend/web/css/index.css 
        // backend/web/js/index.js 
        Yii::setAlias('@cssPath', '/backend/web/css/');
        Yii::setAlias('@my.css', '@cssPath/index.css');
        echo Yii::getAlias('@cssPath/index.css');
        echo "<br/>";
        echo "<br/>";
        echo Yii::getAlias('@runtime');
    }

相關文章