Yii-aliases
提供:Dev Guides
Yii-エイリアス
エイリアスは、プロジェクト内の絶対パスまたはURLをハードコーディングしないようにするのに役立ちます。 エイリアスは@文字で始まります。
- エイリアスを定義するには、* Yii
- setAlias()*メソッドを呼び出す必要があります-
//an alias of a file path
Yii::setAlias('@alias', '/path/to/alias');
//an alias of a URL
Yii::setAlias('@urlAlias', 'http://www.google.com');
また、既存のエイリアスから新しいエイリアスを派生させることもできます-
Yii::setAlias('@pathToSomewhere', '@alias/path/to/somewhere');
- あなたは、エントリスクリプトまたはアプリケーション構成のエイリアスと呼ばれる書き込み可能なプロパティでYii
- setAlias()メソッドを呼び出すことができます-
$config = [
'id' => 'basic',
'basePath' => dirname(__DIR__),
'bootstrap' => ['log'],
'components' => [
'aliases' => [
'@alias' => '/path/to/somewhere',
'@urlAlias' => 'http://www.google.com',
],
//other components...
]
]
- エイリアスを解決するには、Yii
- getAlias()メソッドを呼び出す必要があります。
Yiiは次のエイリアスを事前定義します-
- @ app -アプリケーションのベースパス。
- @ yii -BaseYii.phpファイルがあるフォルダー。
- @ webroot -アプリケーションのWebルートディレクトリ。
- @ web -アプリケーションのベースURL。
- @ runtime -アプリケーションのランタイムパス。 デフォルトは@ app/runtimeです。
- @ vendor -Composerベンダーディレクトリ。 デフォルトは@ app/vendorです。
- @ npm -npmパッケージのルートディレクトリ。 デフォルトは@ vendor/npmです。
- @ bower -bowerパッケージのルートディレクトリ。 デフォルトは@ vendor/bowerです。
さて、_actionAliases()_という新しい関数をSiteControllerに追加します-
public function actionAliases() {
Yii::setAlias("@components", "@app/components");
Yii::setAlias("@imagesUrl", "@web/images");
var_dump(Yii::getAlias("@components"));
var_dump(Yii::getAlias("@imagesUrl"));
}
上記のコードでは、2つのエイリアスを作成しました。アプリケーションコンポーネントの@componentsと、すべてのアプリケーションイメージを保存したURLの@imagesUrlです。
http://localhost:8080/index.php?r = site/aliasesと入力すると、次の出力が表示されます-