Как создать модули в YII2

Как создать модуль в yii2 и настроить его при настройке. Я искал какое-то время в Google, и я не могу найти много учебника по этому вопросу. Пожалуйста помоги.

Опция 1

  1. Создайте папку модулей на вашем базовом пути приложения. Это будет соответствовать вашему псевдониму @app вашего текущего приложения. Это то же самое, что и корневая папка базового шаблона или backend / frontend в расширенном шаблоне.

  2. Внутри папки модулей создайте папку для вашего модуля, соответствующую идентификатору модуля.

  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, перейдите к модулю и введите путь к классу модуля. Это будет то же самое, что и app\modules\home\Home в опции 1

  2. Предварительный просмотр и создание всех файлов. Измените конфигурацию приложения, как в Варианте 1, согласно классу вашего модуля.

  1. Установите Gii в yii2. Используйте документацию.
  2. Затем используйте генератор модуля. Вам необходимо разрешение на создание файла для папки или вы можете скопировать сгенерированный код и создать указанный файл вручную.
  3. Когда поколение будет завершено, он покажет вам зеленый текст. Для тестового модуля "(Когда папка имеет разрешение на веб-сайт) ИЛИ Скопируйте следующий код в файл конфигурации main.php в модуле. Замените имя модуля на свой.

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

Пожалуйста, оставьте комментарий, если все еще есть путаница. Я отредактирую, чтобы сделать это более ощутимым.