Yii2 gii как запустить

от admin

Генерация кода при помощи Gii ¶

В этом разделе мы опишем, как использовать Gii для автоматической генерации кода, реализующего некоторые общие функции вебсайта. Для достижения этой цели всё, что вам нужно, это просто ввести необходимую информацию в соответствии с инструкциями, отображаемыми на веб-страницах Gii.

В этом руководстве вы узнаете:

  • Как активировать Gii в приложении;
  • Как использовать Gii для создания Active Record класса;
  • Как использовать Gii для генерации кода, реализующего CRUD для таблицы БД.
  • Как настроить код, генерируемый Gii.

Запускаем Gii ¶

Gii представлен в Yii как модуль. Вы можете активировать Gii, настроив его в свойстве modules. В зависимости от того, каким образом вы создали приложение, вы можете удостовериться в наличии следующего кода в конфигурационном файле config/web.php ,

Приведенная выше конфигурация показывает, что находясь в режиме разработки, приложение должно включать в себя модуль с именем gii , который реализует класс yii\gii\Module .

Если вы посмотрите входной скрипт web/index.php вашего приложения, вы увидите следующую строку, устанавливающую константу YII_ENV_DEV в значение true .

Благодаря этой строке ваше приложение находится в режиме разработки, и Gii уже активирован в соответствии с описанной выше конфигурацией. Теперь вы можете получить доступ к Gii по следующему адресу:

Примечание: Если вы пытаетесь получить доступ к Gii не с локального хоста, по умолчанию, в целях обеспечения безопасности, доступ будет запрещён. Вы можете изменить настройки Gii, чтобы добавить разрешённые IP адреса, как указано ниже

Генерация класса Active Record ¶

Чтобы использовать Gii для генерации класса Active Record, выберите «Генератор модели» (нажав на ссылку на главной странице Gii). И заполните форму следующим образом:

  • Имя таблицы: country
  • Класс модели : Country

Генератор модели

Затем нажмите на кнопку «Предварительный просмотр». Вы увидите, что models/Country.php перечислен в результатах создаваемых файлов классов. Вы можете нажать на имя файла класса для просмотра его содержимого.

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

Предварительный просмотр генератора модели

Для перезаписи существующего файла установите флажок рядом с «overwrite» и нажмите кнопку «Generate». Для создания нового файла вы можете просто нажать «Generate».

После этого вы увидите страницу подтверждения, указывающую на то, что код был успешно сгенерирован. Если файл существовал до этого, вы также увидите сообщение о том, что он был перезаписан заново сгенерированным кодом.

Создание CRUD кода ¶

CRUD расшифровывается как Create, Read, Update и Delete, предоставляющий четыре основные функции, выполняемые над данными на большинстве веб-сайтов. Чтобы создать функциональность CRUD используя Gii, выберите «CRUD Генератор» (нажав на ссылку на главной странице Gii). Для нашей таблицы «country» заполните полученную форму следующим образом:

  • Model Class: app\models\Country
  • Search Model Class: app\models\CountrySearch
  • Controller Class: app\controllers\CountryController

CRUD генератор

Затем нажмите на кнопку «Preview». Вы увидите список файлов, которые будут созданы, как показано ниже.

CRUD генератор: предпросмотр

Если вы уже создали файлы controllers/CountryController.php и views/country/index.php (в разделе о базах данных), установите флажок «overwrite», чтобы заменить их. (Предыдущие версии не поддерживают CRUD полностью)

Испытываем в действии ¶

Чтобы увидеть как всё это работает, перейдите по следующему URL, используя ваш браузер:

Вы увидите таблицу, показывающую страны из таблицы БД. Вы можете сортировать, а также фильтровать данные, указывая условия фильтрации в заголовках столбцов.

Для каждой отображающейся в таблице страны вы можете просмотреть подробную информацию, обновить или удалить её. Вы также можете нажать на кнопку «Создать страну» в верхней части таблицы для получения формы создания новой страны.

Таблица данных стран

Обновление страны

Ниже приведен список файлов, созданных с помощью Gii, в том случае, если вы захотите исследовать реализацию этих функций, или изменить их:

  • Контроллер: controllers/CountryController.php
  • Модели: models/Country.php и models/CountrySearch.php
  • Вид: views/country/*.php

Информация: Gii разработан как тонконастраиваемый и расширяемый инструмент генерации кода. Используя его с умом, вы можете значительно ускорить скорость разработки приложений. Для более подробной информации, пожалуйста, обратитесь к разделу Gii.

Заключение ¶

В этом разделе вы узнали, как использовать Gii для генерации кода, реализующего полную функциональность CRUD для данных, хранящихся в таблице базы данных.

Yii2 gii как запустить

Всем привет! В этой статье рассмотрим генерацию кода для Yii2 из командной строки. С Yii я работаю достаточно давно, еще с первой версии. Одной из интересных особенностей фреймворка является встроенный кодогенератор Gii. С его помощью можно быстро сгенерировать модели данных, контроллеры и даже целые CRUD блоки на основании таблицы базы данных.

Это достаточно полезно для быстрого прототипирования или для создания основы приложения. Конечно, обычно код потом меняется под нужды конкретной задачи.

Gii предоставляет графический интерфейс для создания кода. Им достаточно просто и удобно пользоваться. Также по нему есть довольно подробная документация.

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

Итак, из коробки Gii включает в себя 6 генераторов: Model, Crud, Controller, Form, Module, Extension. Я чаще всего использую Model и Crud generator.

Подготовка

Для проверки работы генераторов установим Yii2 и создадим тестовое приложение, как описано в документации После этого создадим таблицу task .

Чтобы увидеть доступные команды, вызовем консольный gii. Дальше вызовем help, чтобы увидеть справку по конкретной команде

Создание модели

Теперь попробуем сгенерировать модель. Указываем название таблицы, название модели и namespace. Также можно указать дополнительные параметры. Например, сгенерировать query — класс, ктотрый будет содержать различные запросы.

В результате будет сгенерирован класс модели: models/Task.php .

Создание контроллера

Теперь создадим контроллер. Здесь полностью указать название вместе с namespace. Также можно указать список action и другие параметры.

Читать:
Как удалить рекламу из оперы вирус

В результате будет сгенерирован контроллер controllers/TestController.php и файлы отображения views/test/index.php .

Создание CRUD

Дальше самое интересное — создадим CRUD. CRUD — акроним от слов "create", "read", "update", "delete" — базовых операций по работе с хранилищем данных. Соответственно, будет создана почти полноценная админка для нашей сушности.

В результате будет сгенерирован контроллер controllers/TaskController.php и все необходимые вьюхи views/task/_form.php

Итоги

В результате мы можем генерировать код автоматичекски из командной строки. Если возможностей встроенных генераторов не хватает, можно попробовать найти сторонний генератор Или написать свой собственный генератор. На этом пока все. Спасибо за внимание!

Name already in use

yii2 / docs / guide-ru / start-gii.md

  • Go to file T
  • Go to line L
  • Copy path
  • Copy permalink
  • Open with Desktop
  • View raw
  • Copy raw contents Copy raw contents

Copy raw contents

Copy raw contents

Генерация кода при помощи Gii

В этом разделе мы опишем, как использовать Gii для автоматической генерации кода, реализующего некоторые общие функции вебсайта. Для достижения этой цели всё, что вам нужно, это просто ввести необходимую информацию в соответствии с инструкциями, отображаемыми на веб-страницах Gii.

В этом руководстве вы узнаете:

  • Как активировать Gii в приложении;
  • Как использовать Gii для создания Active Record класса;
  • Как использовать Gii для генерации кода, реализующего CRUD для таблицы БД.
  • Как настроить код, генерируемый Gii.

Gii представлен в Yii как модуль. Вы можете активировать Gii, настроив его в свойстве [[yii\base\Application::modules|modules]]. В зависимости от того, каким образом вы создали приложение, вы можете удостовериться в наличии следующего кода в конфигурационном файле config/web.php ,

Приведенная выше конфигурация показывает, что находясь в режиме разработки, приложение должно включать в себя модуль с именем gii , который реализует класс [[yii\gii\Module]].

Если вы посмотрите входной скрипт web/index.php вашего приложения, вы увидите следующую строку, устанавливающую константу YII_ENV_DEV в значение true .

Благодаря этой строке ваше приложение находится в режиме разработки, и Gii уже активирован в соответствии с описанной выше конфигурацией. Теперь вы можете получить доступ к Gii по следующему адресу:

Note: Если вы пытаетесь получить доступ к Gii не с локального хоста, по умолчанию, в целях обеспечения безопасности, доступ будет запрещён. Вы можете изменить настройки Gii, чтобы добавить разрешённые IP адреса, как указано ниже

Gii

Генерация класса Active Record

Чтобы использовать Gii для генерации класса Active Record, выберите «Генератор модели» (нажав на ссылку на главной странице Gii). И заполните форму следующим образом:

  • Имя таблицы: country
  • Класс модели : Country

Генератор модели

Затем нажмите на кнопку «Предварительный просмотр». Вы увидите, что models/Country.php перечислен в результатах создаваемых файлов классов. Вы можете нажать на имя файла класса для просмотра его содержимого.

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

Предварительный просмотр генератора модели

Для перезаписи существующего файла установите флажок рядом с «overwrite» и нажмите кнопку «Generate». Для создания нового файла вы можете просто нажать «Generate».

После этого вы увидите страницу подтверждения, указывающую на то, что код был успешно сгенерирован. Если файл существовал до этого, вы также увидите сообщение о том, что он был перезаписан заново сгенерированным кодом.

Создание CRUD кода

CRUD расшифровывается как Create, Read, Update и Delete, предоставляющий четыре основные функции, выполняемые над данными на большинстве веб-сайтов. Чтобы создать функциональность CRUD используя Gii, выберите «CRUD Генератор» (нажав на ссылку на главной странице Gii). Для нашей таблицы «country» заполните полученную форму следующим образом:

  • Model Class: app\models\Country
  • Search Model Class: app\models\CountrySearch
  • Controller Class: app\controllers\CountryController

CRUD генератор

Затем нажмите на кнопку «Preview». Вы увидите список файлов, которые будут созданы, как показано ниже.

CRUD генератор: предпросмотр

Если вы уже создали файлы controllers/CountryController.php и views/country/index.php (в разделе о базах данных), установите флажок «overwrite», чтобы заменить их. (Предыдущие версии не поддерживают CRUD полностью)

Испытываем в действии

Чтобы увидеть как всё это работает, перейдите по следующему URL, используя ваш браузер:

Вы увидите таблицу, показывающую страны из таблицы БД. Вы можете сортировать, а также фильтровать данные, указывая условия фильтрации в заголовках столбцов.

Для каждой отображающейся в таблице страны вы можете просмотреть подробную информацию, обновить или удалить её. Вы также можете нажать на кнопку «Создать страну» в верхней части таблицы для получения формы создания новой страны.

Таблица данных стран

Обновление страны

Ниже приведен список файлов, созданных с помощью Gii, в том случае, если вы захотите исследовать реализацию этих функций, или изменить их:

  • Контроллер: controllers/CountryController.php
  • Модели: models/Country.php и models/CountrySearch.php
  • Вид: views/country/*.php

Info: Gii разработан как тонконастраиваемый и расширяемый инструмент генерации кода. Используя его с умом, вы можете значительно ускорить скорость разработки приложений. Для более подробной информации, пожалуйста, обратитесь к разделу Gii.

В этом разделе вы узнали, как использовать Gii для генерации кода, реализующего полную функциональность CRUD для данных, хранящихся в таблице базы данных.

getting Gii to work on Yii 2.0

i downloaded the advanced template, extracted it and changed the root documents for the back-end and the front-end, but i can’t seem to figure out how to get Gii working to perform the crud operations.

there is require and require-dev field in the composer.JSON i included gii in both of them and each one separately with no luck.

i also tried getting the template through composer, and while installing i saw gii as installed, but still could not get it to work.

Похожие статьи