"Giiant is huge!"
PROJECT IS IN BETA STAGE!
Note: Major changes from 0.4 to 0.5, see upgrading for details.
Giiant is an extended code-generator for models and CRUDs, based upon Gii (Yii 2.0 Framework).
It creates prototypes for database models and backends including relations defined by foreign-key constrains in no-time.
To provide a highly flexible configuration system it features a callback-provider-queue to define rendering of customized inputs, columns or attribute values.
A main project goal is porting many features and learnings from gtc, giix, awecrud and other code-generators into one solution.
yii batch
creates all models and/or CRUDs for a set of tables sequentially with a single command
- generates separate model classes to customize and base models classes which can be regenerated on schema changes
- table prefixes can be stipped off model class names (not bound to
db
connection settings from Yii 2.0)
- input, attribute, column and relation customization with provider queues
- callback provider to inject any kind of code for inputs, attributes and columns via dependency injection
- virtual-relation support (non-foreign key relations)
- model, view and controller locations can be customized to use subfolders
- horizontal and vertical form layout
- options for tidying generated code
- action button class customization (Select "App Class" option on the Action Button Class option on CRUD generator to customize)
The preferred way to install this extension is through composer.
Using a stable version
composer require schmunk42/yii2-giiant:"@stable"
Using latest master
composer require schmunk42/yii2-giiant:"@dev"
The generators are registered automatically in the application bootstrap process, if Gii module is enabled.
You can try giiant via phd (dockerized PHP application template).
It's recommended to configure a customized batch
command in your application CLI configuration.
'controllerMap' => [
'batch' => [
'class' => 'schmunk42\giiant\commands\BatchController',
'overwrite' => true,
'modelNamespace' => 'app\\modules\\crud\\models',
'crudTidyOutput' => true,
]
],
Note:
yii giiant-batch
is an alias for the default configuration ofBatchController
registered by this extension.
You can add the giiant specific configuration config/giiant.php
, and include this from your config/main.php
.
See the batches section for configuration details.
To create a full-featured database backend, run the CLI batch command
yii batch
You can still override the settings from the configuration, like selecting specific tables
yii batch --tables=a,list,of,tables
Show help for gii
yii help gii
Create application-module for giiant CRUDs
yii gii/giiant-module
The commands for generating models and CRUD, there are usually run via the batch command above.
yii gii/giiant-model
yii gii/giiant-crud
See docs for details.
See docs for details.
See docs for known-issues, platform specific usage, quirks, faq, ...
Special thanks to motin, thyseus, uldisn and rcoelho for their work, inspirations and feedback.
Built by dmstr