вторник, 19 мая 2015 г.

§2.2 Еще немного и моем LAMP сервере и о Gii

Продолжаю рассказ. Итак, у меня есть мой ноутбук с win7 в котором в VirtualBox работает Ubuntu LAMP сервер. Код я пишу в Codelobster (в Windows) и при сохранении он по FTP автоматически закачивается на мой LAMP сервер. Результат я вижу в своем браузере, который открывает сайт http://yii2.lamp/ с того же LAMP сервера. Как я уже сказал, код я пишу в windows, но он закачивается и обрабатывается в linux-е, поэтому пути к файлам я буду приводить, как они есть в linux-е. Корень моего сайта: /var/www/yii2/basic/web
Я буду использовать ту же самую базу данных каталога товара, что и при изучении yii1. Она у меня уже есть. Подключаю базу к проекту: в файле /var/www/yii2/basic/config/db.php прописываю:
 'yii\db\Connection',
    'dsn' => 'mysql:host=localhost;dbname=catalog',
    'username' => 'root',
    'password' => '',
    'charset' => 'utf8',
    'tablePrefix' => 'tbl_',
];
Одной из причин, почему мне так нравится Yii является его генератор кода gii. Без него создать основу приложения было бы в сто раз сложнее, а нам и надо создать эту основу. То есть контроллеры с основными действиями (CRUD), модели и виды под конкретную базу данных. Поэтому следующим шагом надо настроить gii. Доступен он должен быть по адресу: http://yii2.lamp/index.php?r=gii Но сначала надо подключить этот модуль в проект. В руководстве мне было не понятно, куда это писать: http://www.yiiframework.com/doc-2.0/ext-gii-index.html пошуршав мозгами понял, что у меня должно быть так: в файле var/www/yii2/basic/config/web.php
...
if (YII_ENV_DEV) {
    // configuration adjustments for 'dev' environment
    $config['bootstrap'][] = 'debug';
    $config['modules']['debug'] = 'yii\debug\Module';

    $config['bootstrap'][] = 'gii';
    $config['modules']['gii'] = array('class' => 'yii\gii\Module', 
               'allowedIPs' => array('192.168.56.1'));
}
...
То есть в режиме разработки подключаются debug (он уже там был) и gii (это я дописал) модули. Подключаются они путем добавления элементов в многомерный массив $config. Причем в gii разрешенные IP адреса, это адрес моего windows для виртуальной машины (стандартный 192.168.56.1)
Теперь снова проверяем адрес http://yii2.lamp/index.php?r=gii Gii должен открыться. Какой он стал красивый! :) Попробую им воспользоваться.. Кстати, этот проект я выложил на https://github.com/Psyhos/Catalog_Yii2 Git это еще один из важнейших компонентов, который надо изучить, что я и делаю.
Продолжение следует..

1 комментарий:

  1. Рекомендую попробовать Vagrant вместо обычной виртуальной машины. Будет возможность работать с файлами проектов напрямую, а не через FTP

    ОтветитьУдалить