web-dev-qa-db-ja.com

YII2でモジュールを作成する方法

Yii2でモジュールを作成し、同じ構成でセットアップする方法。私はしばらくGoogleで検索してきましたが、そのチュートリアルはそれほど多くありません。助けてください。

10
user2959221

オプション1

  1. アプリケーションのベースパスにモジュールフォルダを作成します。これは、現在実行中のアプリケーションの@appエイリアスに対応するものになります。これは、基本テンプレートのルートフォルダーまたは詳細テンプレートのバックエンド/フロントエンドと同じです。

  2. モジュールフォルダ内に、モジュールIDに対応するモジュール用のフォルダを作成します。

  3. モジュールクラスはこのモジュールフォルダ内にあり、\yii\base\Moduleを拡張する必要があります。これは、モジュールクラスの基本的な作業例です。

    <?php
    
    namespace app\modules\home;
    
    class Home extends \yii\base\Module
    {
       public $controllerNamespace = 'app\modules\home\controllers';
    
       public function init()
       {
           parent::init();
    
           // custom initialization code goes here
       }
    }
    
  4. モジュールコントローラー、モデル、ビューのフォルダーを同じフォルダーに作成します。

  5. モジュールにアクセスするには、これをアプリケーション構成に追加する必要があります。

    <?php
    ......
       'modules' => [
          'home' => [
             'class' => 'app\modules\home\Home',
          ],
       ],
    ......
    

オプション2

  1. Giiモジュールを使用している場合は、モジュールジェネレーターに移動し、モジュールクラスへのパスを入力します。これは、オプション1のapp\modules\home\Homeと同じです。

  2. すべてのファイルをプレビューして生成します。モジュールクラスに応じて、オプション1のようにアプリケーション構成を変更します。

4
Zack
  1. インストール Gii yii2に。ドキュメントを使用します。
  2. 次に、モジュールジェネレーターを使用します。フォルダーのファイルを作成するにはWeb権限が必要ですOR生成されたコードをコピーして貼り付け、指定したファイルを手動で作成できます。
  3. 生成が完了すると、緑色のテキストが表示されます。トライモジュールの場合 "(フォルダーにWebアクセス許可がある場合)ORモジュールの下のmain.php構成ファイルに次のコードをコピーします。モジュール名を自分のものに置き換えます。

    'modules' => [
        'modulename' => [
             'class' => 'app\modules\modulename\Module',
        ],
    ]
    

それでも混乱がある場合はコメントを残してください。これをより理解できるように編集します。

4
Kshitiz