Урок 2: Базовая настройка Yii2

В этом уроке я вам расскажу о базовый настройке фреймворка Yii2.
Этого хватит для начальной работы, в будущем мы будем изменять настройки.

Для начала необходимо настроить подключение к базе данных:

1. Откройте файл настроек по адресу config/db.php

return [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=%ИМЯ_БАЗЫ_ДАННЫХ%',
'username' => '%ПОЛЬЗОВАТЕЛЬ%',
'password' => '%ПАРОЛЬ%',
'charset' => 'utf8',
];

Соответственно замените всё, что выделено процентами(включая проценты, например, %ИМЯ_БАЗЫ_ДАННЫХ% заменяем на blog). Кодировку можете изменить, если используете не utf8.

2. Теперь откройте файл настроек по адресу config/web.php

Теперь мы настроим отображение даты и времени в нужном формате, настроим красивые ссылки, настроим доступ к gii.

1) Настройки формата даты и времени
Настроим вывод даты и времени в привычном нам формате:

'formatter' => [
'class' => 'yii\i18n\Formatter',
'dateFormat' => 'php:d.m.Y',
'datetimeFormat' => 'php:d.m.Y H:i',
'timeFormat' => 'php:H:i:s',
],

Таким образом мы настроили формат даты (например, 01.01.2020), формат даты и времени одновременно(например, 01.02.2020 10:22), формат времени(например, 21:47:26). Обратите внимание, формат даты и времени с отображением без секунд, а в формате времени есть отображение секунд. За это отвечает «s».

2) Настроим красивые ссылки (urlManager)
Для начала составим скелет:

'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [

]
],

enablePrettyUrl — включение красивых ссылок. При значении false у вас будут проходить запросы длинными некрасивыми ссылками: http://test.com/?controller=site&action=index. Как вам? Согласитесь, не очень. Как будет выглядеть при значении true: http://test.com/site/index. Гораздо лучше, не так ли?

showScriptName — показывать ли расширение файла. Допустим .php или .html. Не советую включать, такие ссылки выглядит не очень красиво: http://test.com/site/contacts.html, либо http://test.com/site/contacts. На мой взгляд второй вариант лучше, чем первый. Но тут дело вкуса.

Теперь перейдем к настройке правил (rules):
Синтаксис такой, изначально мы пишем ссылку, которую хотите видеть и к ней присваиваете значение, куда пройдет реальный запрос. Вот пример:

'rules' => [
'<action:contacts>/<action>' => 'site/<action>',
'<controller:\w+>/<id:\d+>' => '<controller>/view',
]

Теперь давайте разберем эти правила.
Первая строка. Мы перенаправляем action contacts на контроллер site и action contacts. То есть итоговый результат http://test.com/contacts, но без этой настройки было бы http://test.com/site/contacts.

Вторая строка. Мы парсим ID для любого контроллера и передаём в нашу вьюшку. То есть запрос будет выглядеть так: http://test.com/ЛЮБОЙ_КОНТРОЛЛЕР/20, но без настройки пришлось бы делать такой запрос: http://test.com/ЛЮБОЙ_КОНТРОЛЛЕР/view/?id=20, что не очень то привлекает.

3) Теперь перейдем к настройке gii.

В Yii2 доступен инструмент для автоматической генерации кода. Вам не нужно создавать вручную контроллеры, модели, вьюшки, gii все это сделает за вас.

Изначально gii расположен по адресу http://test.com/gii, на своё усмотрение вы можете изменить ссылку, но я не буду об этом рассказывать. Перейдя в первый раз, вы можете заметить, что доступ запрещен. Идёт блокировка по IP. Чтобы добавить ваш IP в белый лист, необходимо в конце нашего файла настроек найти allowedIPs и в массив добавить еще один IP — ваш. После чего вы можете перейти еще раз и увидеть там такую картину:
Gii

В следующем уроке я вам расскажу, как использовать этот самый yii code generator.

3.  И теперь давайте настроим последний файл настроек по адресу config/params.php

В данном файле вы можете вводить любые переменные, к которым позже сможете обращаться. Здесь вы можете задать данные, которые статичны. Например, контактный e-mail, имя сайта. Получить значение вы можете такой строчкой:

Yii::$app->params['email']

Всё довольно просто и не вызовет у вас каких-то сложностей.

На этом базовая настройка Yii2 завершена. В дальнейших уроках разберем работу с Gii, настройка ролей, миграции, кэширование и прочее. Пишите в комментарии, если хотите увидеть какой-то определенный урок по теме.

Урок 2: Базовая настройка Yii2: 1 комментарий

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *