2016-10-14 5 views
0

:アプリ/モジュール/管理/モジュール/メール@Yii2カスタム/短い名前空間

どう

すべてのモジュールファイルに短い名前空間を作成しますか?したがって、コントローラファイル内のこの名前空間の代わりに:

名前空間app \ modules \ admin \ modules \ mail \ controllers;私は持っている可能性が

名前空間のメール/コントローラを。

私がモジュールフォルダを移動した場合、移動する必要はなく、手動で各ファイルの名前空間を変更することもできます。

ドキュメントは、実際に「!あなたはここで短い名前空間を使用することを検討すべきである」ここ

をそれが言うhttp://www.yiiframework.com/doc-2.0/guide-structure-modules.html#nested-modulesこれをお勧めしますしかし、あなたはこれをどのように実現するのですか?

答えて

0

カスタムエイリアスへのブートストラップ時に別名をディレクトリに設定する必要があります。

//bootstrap.php 
Yii::setAlias('mail', dirname(dirname(__DIR__)) . '/modules/admin/modules/mail'); 

が初期化アプリで実行bootstrap.phpを追加します。

まず、bootstrap.phpconfig/にフォルダを作成します。

編集ファイルweb/index.phpは、Yii.php

require(__DIR__ . '/../vendor/autoload.php'); 
require(__DIR__ . '/../vendor/yiisoft/yii2/Yii.php'); 

//Add after require Yii.php 
require(__DIR__ . '/../config/bootstrap.php'); 

$config = require(__DIR__ . '/../config/web.php'); 
(new yii\web\Application($config))->run(); 

は今、あなたはメールモジュールのコントローラ用の名前空間を設定することができます必要とした後、この行を追加しますmail/controllersです。

希望します。