Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Yii2 Gii Laravel Package

yiisoft/yii2-gii

Gii is Yii2’s web-based code generator. Rapidly scaffold models, CRUD, controllers, forms, and modules with templates you can customize. Speeds up development and enforces consistent structure, with an extensible generator system for your own blueprints.

View on GitHub
Deep Wiki
Context7

Основное использование

Когда Вы откроете Gii, на главной странице будут отображены генераторы.

Gii entry page

По-умолчанию, доступны следующие генераторы:

  • Model Generator - Этот генератор генерирует класс ActiveRecord для выбранной таблицы БД.
  • CRUD Generator - Этот генератор генерирует контроллер и представления, реализующие операции CRUD (Create, Read, Update, Delete) для выбранной модели.
  • Controller Generator - Этот генератор помогает быстро сгенерировать класс контроллера, одно или несколько действий (actions) и соответствующие им представления.
  • Form Generator - Этот генератор генерирует файл представления для отображения html-формы с полями, соответствующими модели.
  • Module Generator - Этот генератор поможет Вам сгенерировать каркас (skeleton code), необходимый для Yii-модуля.
  • Extension Generator - Этот генератор помогает сгенерировать файлы, необходимые для Yii-расширений.

После выбора генератора кликом по кнопке "Start" Вы перейдете на форму, которая позволит сконфигурировать параметры генератора. Заполните форму в соответствии с вашими потребностями и нажмите кнопку "Preview", чтобы посмотреть код, который Gii собирается сгенерировать. В зависимости от выбранного генератора и наличия (или отсутствия) генерируемых файлов, Вы увидите что-то подобное изображенному здесь:

Gii preview

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

Tip: При использовании Model-генератора для обновления моделей после изменений в БД, просто скопируйте код из превью и встройте его в свой код. Вы можете использовать возможности разных IDE: сравнение с буфером обмена в PHPStorm, Aptana Studio. В редакторах, основанных на Eclipse можно сравнивать код с буфером обмена, используя для этого AnyEdit tools plugin. Всё это позволит вам объединить только нужные изменения и пропустить изменения, которые заменят уже существующий полезный код.

После просмотра кода и выбора файлов для генерирования кликните на кнопке "Generate" чтобы создать файлы. Если нет ошибок - на этом всё! Если появятся ошибки, значит Gii не смог сгенерировать файлы и Вам нужно установить права на запись для директорий, чтобы веб-сервер мог создать в этих директориях файлы.

Note: Код, сгенерированный Gii - всего лишь шаблон, который нужно подстраивать под Ваши нужды. Таким образом, Gii помогает быстро создавать новый код, но это не полностью готовый к работе код. Часто можно встретить людей, использующих сгенерированные посредством Gii модели, которые они не изменяли, а просто расширили их (extend) чтобы скорректировать какие-то моменты. Это не тот подход, которому нужно следовать. Код, сгенерированный Gii может быть неполным или неправильным и прежде чем его использовать, его необходимо изменить под Ваши потребности.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
hamzi/corewatch
minionfactory/raw-hydrator
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager
alimarchal/laravel-chart-of-accounts
babenkoivan/elastic-scout-driver
mkwebdesign/filament-watchdog-v5
renatomarinho/laravel-page-speed
zedmagdy/filament-business-hours
renatovdemoura/blade-elements-ui
devgeek/beacon-admin
benjamin-rqt/data-watcher-bundle
atriumphp/atrium
sandermuller/package-boost-laravel
sandermuller/boost-skills
redaxo/core
yusufgenc/filament-api-forge
l3aro/rating-star-for-filament
leek/filament-subtenant-scope