"Giiant is huge!"
PROJECT IS IN BETA STAGE!
What is this?
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 batchcreates 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 stripped off model class names (not bound to
dbconnection 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, ] ],
yii giiant-batchis an alias for the default configuration of
BatchControllerregistered by this extension.
You can add the giiant specific configuration
config/giiant.php, and include this from your
See the batches section for configuration details.
To create a full-featured database backend, run the CLI batch command
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
The commands for generating models and CRUD, there are usually run via the batch command above.
yii gii/giiant-model yii gii/giiant-crud
Provider usage and configuration via dependency injection
See docs for details.
Using callbacks to provide code-snippets
See docs for details.
See docs for known-issues, platform specific usage, quirks, faq, ...
Built by dmstr