Gii — это расширение, которое предоставляет веб-генератор кода для генерации моделей, форм, модулей, CRUD и так далее.
По умолчанию доступны следующие генераторы —
-
Генератор моделей — генерирует класс ActiveRecord для указанной таблицы базы данных.
-
CRUD Generator — генерирует контроллер и представления, которые реализуют операции CRUD (создание, чтение, обновление, удаление) для указанной модели.
-
Контроллер Генератор — Создает новый класс контроллера с одним или несколькими действиями контроллера и их соответствующими представлениями.
-
Генератор форм — генерирует файл сценария представления, который отображает форму для сбора входных данных для указанного класса модели.
-
Модуль Генератор — Генерирует скелетный код, необходимый для модуля Yii.
-
Генератор расширений — генерирует файлы, необходимые для расширения Yii.
Генератор моделей — генерирует класс ActiveRecord для указанной таблицы базы данных.
CRUD Generator — генерирует контроллер и представления, которые реализуют операции CRUD (создание, чтение, обновление, удаление) для указанной модели.
Контроллер Генератор — Создает новый класс контроллера с одним или несколькими действиями контроллера и их соответствующими представлениями.
Генератор форм — генерирует файл сценария представления, который отображает форму для сбора входных данных для указанного класса модели.
Модуль Генератор — Генерирует скелетный код, необходимый для модуля Yii.
Генератор расширений — генерирует файлы, необходимые для расширения Yii.
Чтобы открыть инструмент создания gii, введите http: // localhost: 8080 / index.php? R = gii: в адресной строке веб-браузера.
Подготовка БД
Шаг 1 — Создайте новую базу данных. База данных может быть подготовлена следующими двумя способами —
-
В терминале запустите mysql -u root –p
-
Создать новую базу данных с помощью CREATE DATABASE helloworld CHARACTER SET utf8 COLLATE utf8_general_ci;
В терминале запустите mysql -u root –p
Создать новую базу данных с помощью CREATE DATABASE helloworld CHARACTER SET utf8 COLLATE utf8_general_ci;
Шаг 2 — Настройте соединение с базой данных в файле config / db.php . Следующая конфигурация предназначена для системы, используемой в настоящее время.
<?php return [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=localhost;dbname=helloworld', 'username' => 'vladimir', 'password' => '12345', 'charset' => 'utf8', ]; ?>
Шаг 3 — Внутри корневой папки запустите ./yii migrate / create test_table . Эта команда создаст миграцию базы данных для управления нашей БД. Файл миграции должен появиться в папке миграций корня проекта.
Шаг 4. Измените файл миграции (в данном случае m160106_163154_test_table.php ).
<?php use yii\db\Schema; use yii\db\Migration; class m160106_163154_test_table extends Migration { public function safeUp() { $this->createTable("user", [ "id" => Schema::TYPE_PK, "name" => Schema::TYPE_STRING, "email" => Schema::TYPE_STRING, ]); $this->batchInsert("user", ["name", "email"], [ ["User1", "user1@gmail.com"], ["User2", "user2@gmail.com"], ["User3", "user3@gmail.com"], ["User4", "user4@gmail.com"], ["User5", "user5@gmail.com"], ["User6", "user6@gmail.com"], ["User7", "user7@gmail.com"], ["User8", "user8@gmail.com"], ["User9", "user9@gmail.com"], ["User10", "user10@gmail.com"], ["User11", "user11@gmail.com"], ]); } public function safeDown() { $this->dropTable('user'); } } ?>
Вышеуказанная миграция создает пользовательскую таблицу со следующими полями: id, name и email. Также добавлено несколько демо-пользователей.
Шаг 5 — Внутри проекта запустите ./yii Миграция, чтобы применить миграцию к базе данных.
Шаг 6 — Теперь нам нужно создать модель для нашей пользовательской таблицы. Для простоты мы собираемся использовать инструмент генерации кода Gii . Откройте этот URL: http: // localhost: 8080 / index.php? R = gii . Затем нажмите кнопку «Пуск» под заголовком «Генератор моделей». Заполните Имя таблицы («пользователь») и Класс модели («MyUser»), нажмите кнопку «Предварительный просмотр» и, наконец, нажмите кнопку «Создать».
Модель MyUser должна появиться в каталоге моделей.