|
|
|
@ -4,6 +4,7 @@ The Gii code generation tool
|
|
|
|
|
Yii2 includes a handy tool that allows rapid prototyping by generating commonly used code snippets |
|
|
|
|
as well as complete CRUD controllers. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Installing and configuring |
|
|
|
|
-------------------------- |
|
|
|
|
|
|
|
|
@ -58,14 +59,14 @@ When you open Gii you first see the entry page that lets you choose a generator.
|
|
|
|
|
|
|
|
|
|
By default there are the following generators available: |
|
|
|
|
|
|
|
|
|
- *Model Generator* - This generator generates an ActiveRecord class for the specified database table. |
|
|
|
|
- *CRUD Generator* - This generator generates a controller and views that implement CRUD (Create, Read, Update, Delete) |
|
|
|
|
- **Model Generator** - This generator generates an ActiveRecord class for the specified database table. |
|
|
|
|
- **CRUD Generator** - This generator generates a controller and views that implement CRUD (Create, Read, Update, Delete) |
|
|
|
|
operations for the specified data model. |
|
|
|
|
- *Controller Generator* - This generator helps you to quickly generate a new controller class, one or several |
|
|
|
|
- **Controller Generator** - This generator helps you to quickly generate a new controller class, one or several |
|
|
|
|
controller actions and their corresponding views. |
|
|
|
|
- *Form Generator* - This generator generates a view script file that displays a form to collect input for the |
|
|
|
|
- **Form Generator** - This generator generates a view script file that displays a form to collect input for the |
|
|
|
|
specified model class. |
|
|
|
|
- *Module Generator* - This generator helps you to generate the skeleton code needed by a Yii module. |
|
|
|
|
- **Module Generator** - This generator helps you to generate the skeleton code needed by a Yii module. |
|
|
|
|
|
|
|
|
|
After choosing a generator by clicking on the "Start" button you will see a form that allows you to configure the |
|
|
|
|
parameters of the generator. Fill out the form according to your needs and press the "Preview" button to get a |
|
|
|
@ -78,6 +79,11 @@ Clicking on the file name you can view a preview of the code that will be genera
|
|
|
|
|
When the file already exists, gii also provides a diff view that shows what is different between the code that exists |
|
|
|
|
and the one that will be generated. In this case you can also choose which files should be overridden and which not. |
|
|
|
|
|
|
|
|
|
> Tip: When using the Model Generator to update models after database change, you can copy the code from gii preview |
|
|
|
|
and merge the changes with your own code. You can use IDE features like PHPStorms |
|
|
|
|
[compare with clipboard](http://www.jetbrains.com/phpstorm/webhelp/comparing-files.html) for this, |
|
|
|
|
which allows you to merge in relevant changes and leave out others that may revert your own code. |
|
|
|
|
|
|
|
|
|
After you have reviewed the code and selected the files to be generated you can click the "Generate" button to create |
|
|
|
|
the files. If all went fine you are done. When you see errors that gii is not able to generate the files you have to |
|
|
|
|
adjust directory permissions so that your webserver is able to write to the directories and create the files. |
|
|
|
@ -88,10 +94,6 @@ adjust directory permissions so that your webserver is able to write to the dire
|
|
|
|
|
some parts of it. This is not how it is ment to be used. Code generated by gii may be incomplete or incorrect |
|
|
|
|
and has to be changed to fit your needs before you can use it. |
|
|
|
|
|
|
|
|
|
> Tip: To update models after database change you can copy the code from gii preview and merge the changes with |
|
|
|
|
your own code. You can use IDE features like PHPStorms "compare with clipboard" for this which allows you to |
|
|
|
|
merge in relevant changes and leave out others that may revert your own code. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Creating your own templates |
|
|
|
|
--------------------------- |
|
|
|
@ -101,6 +103,7 @@ By default gii only provides one template but you can create your own templates
|
|
|
|
|
|
|
|
|
|
TBD |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Creating your own generators |
|
|
|
|
---------------------------- |
|
|
|
|
|
|
|
|
|