Урок 3: Работа с yii code generator (gii)

Как и говорил в прошлом уроке, теперь мы научимся работать с yii code generator, либо проще говорят — с gii. На самом деле в этом нет ничего сложного, но после освоения данного функционала вы поймете, что без неё работать было бы труднее.

Для начала откроем yii code generator по адресу http://site.ru/gii. Если у вас не открывается, то, скорее всего, вы не не настроили доступ (прочитайте предыдущий урок). У вас должна открыться вот такая страница:
Gii
В данном уроке я научу вас генерировать модели и CRUD. После этого вы сами поймете как работать с остальным.

1. Генерация моделей
Открываем генератор Model Generator
Model generator
Разберемся какое поле за что отвечает:
1) Table Name — это название таблицы, на основании которой будет сгенерирована модель.
2) Model Class — название модели(класса). Будет написан автоматически после ввода названия таблицы, но вы можете изменить имя модели.
3) Namespace — с этим вы должны быть знакомы, раз изучаете framework. Для тех, кто не знает это пространство имён, которое позволяет задать одинаковые названия классам(моделям).
4) Base Class — класс, который наследует ваша модель. По умолчанию yii\db\ActiveRecord — работа с таблицей.
5) Database Connection ID — какое подключение вы будете использовать для этой модели. Как вы знаете, в настройках можно задать несколько подключений с разными именами (db, mydb, db и прочее).
6) Use Table Prefix — использовать ли префикс к таблице.
7) Generate Relations — генерация связей.
8) Generate Labels from DB Comments — генерация названий из поля «Комментарий» к названию столбца.
9) Generate ActiveQuery — генераций «гетеров».
10) Enable I18N — включение перевода текста. Об этом будет отдельная статья.
11) Use Schema Name — включение имя схемы при генерации ActiveRecord.

Собственно это все поля. Уверяю, что вы редко будете пользоваться всеми параметрами. Стандартный процесс создания модели: ввод названия таблицы, возможно небольшое изменение название модели, использование перевода текста(если сайт поддерживает несколько языков). Во всяком случае у меня так.

2. Генерация CRUD
Генерация CRUD
Это очень удобная функция, которая всё упрощает. Кто не знает — CRUD расшифровывается так: Create, Read, Update, Delete. Именно такие actions создаются в базовом контроллере.

Разберём какие поля необходимы для ввода:
1) Model Class — имя созданной ранее модели. Не забудьте указать путь app\models\Name (вместо name — ваше название).
2) Search Model Class — модель, которая осуществляет поиск по таблице. Можете не указывать.
3) Controller Class — а вот сам контроллер. Его не обязательно создавать заранее. Укажите путь app\controllers\NameController (вместо name — ваше название). Controller обязательно дописывать в конце.
4) View Path — путь до вьюшки. Не использую, потому что изначально задан нужный путь (@app\views\name).
5) Base Controller Class — имя базового контроллера. Не меняйте, если не создавали свой базовый контроллер.
6) Widget Used in Index Page — как выводить данные из таблицы. По умолчанию GridView (таблица).
7) Enable I18N — включение перевода текста.

Жмем «Preview», а затем «Generate». Вот и всё.

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

Урок 3: Работа с yii code generator (gii): 1 комментарий

  1. Подскажите пожалуйста, я создаю в круд все по инструкции, выдается сообщение The code has been generated successfully. А когда я пытаюсь посмотреть результат, то вылетает ошибка:

    Not Found (#404)
    Code file not found: fae30701337c351349f264010c655bd4
    The above error occurred while the Web server was processing your request.
    Please contact us if you think this is a server error. Thank you.
    Из-за чего эта ошибка, если все создалось?

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

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