Инструмент генерации кода фреймворка Yii2 Gii

 

PHP фреймворк Yii2 включает в свой состав один замечательный модуль - инструмент генерации кода Gii. Чтобы начать его (Gii) использовать, необходимо чтобы Ваше yii приложение находилось в режиме разработки. За включение/выключение режима разработки отвечает константа YII_ENV_DEV, по умолчанию находящаяся в файле web/index.php. Таким образом, в файле web/index.php должна быть следующая настройка:

defined('YII_DEBUG') or define('YII_DEBUG', true);
defined('YII_ENV') or define('YII_ENV', 'dev');

В файле настроек config/web.php необходимо подключить модуль Gii (он подключен по умолчанию)

if (YII_ENV_DEV) {
    $config['bootstrap'][] = 'debug';
    $config['modules']['debug'] = [
        'class' => 'yii\debug\Module',
    ];

    $config['bootstrap'][] = 'gii';
    $config['modules']['gii'] = [
        'class' => 'yii\gii\Module',
        //'allowedIPs' => ['*']
    ];
}

Закомментированную строку 'allowedIPs' => ['*'] (Массив IP адресов, которым разрешен доступ к GII) необходимо раскомментировать и установить свои значения адресов, например:

'allowedIPs' => ['*'] //Разрешен доступ с любых IP адресов
'allowedIPs' => ['192.168.0.102'] //Разрешен доступ только с IP адреса локальной сети 192.168.0.102
'allowedIPs' => ['192.168.0.102', '217.118.90.219'] //Разрешен доступ только с IP адреса локальной сети 192.168.0.102 и с 217.118.90.219

После настройки доступа к Gii к нему можно подключиться по ссылке: http://sitename/index.php?r=gii или http://sitename/gii (в зависимости от настроек urlManager)

Gii может генерировать:

  • классы моделей (на основе таблиц подключенной базы данных);
  • классы CRUD (классы для манипуляций с данными Create-Read-Update-Delete);
  • классы контроллеры;
  • классы форм;
  • модули (например модуль REST Api);
  • расширения.

Следует отметить, что Gii очень удобный инструмент кодогенерации, позволяющий значительно сократить время разработки.