En esta sección, explicaremos cómo utilizar [Gii](tool-gii.md) para generar código que automáticamente
En esta sección, explicaremos cómo utilizar [Gii](tool-gii.md) para generar código que automáticamente
implementa algunas características comunes de una aplicación. Para lograrlo, todo lo que tienes que hacer es
implementa algunas de las características más comunes de una aplicación. Para lograrlo, todo lo que tienes que hacer es
ingresar la información de acuerdo a las instrucciones mostradas en la páginas web de Gii.
ingresar la información de acuerdo a las instrucciones mostradas en la páginas web de Gii.
A lo largo de este tutorial, aprenderás
A lo largo de este tutorial, aprenderás
...
@@ -16,9 +16,8 @@ A lo largo de este tutorial, aprenderás
...
@@ -16,9 +16,8 @@ A lo largo de este tutorial, aprenderás
Comenzando con Gii <a name="starting-gii"></a>
Comenzando con Gii <a name="starting-gii"></a>
------------------
------------------
[Gii](tool-gii.md) es provisto por Yii en forma de [módulo](structure-modules.md). Puedes habilitar Gii
[Gii](tool-gii.md) está provisto por Yii en forma de [módulo](structure-modules.md). Puedes habilitar Gii
configurándolo en la propiedad [[yii\base\Application::modules|modules]] de la aplicación. En particular,
configurándolo en la propiedad [[yii\base\Application::modules|modules]] de la aplicación. Dependiendo de cómo hayas creado tu aplicación, podrás encontrar que el siguiente código ha sido ya incluido en el archivo de configuración `config/web.php`:
puedes encontrar que el siguiente código ya está incluido en el archivo `config/web.php` - la configuración de la aplicación,
```php
```php
$config=[...];
$config=[...];
...
@@ -29,17 +28,17 @@ if (YII_ENV_DEV) {
...
@@ -29,17 +28,17 @@ if (YII_ENV_DEV) {
}
}
```
```
La configuración mencionada arriba dice que al estar en el [entorno de desarrollo](concept-configurations.md#environment-constants),
La configuración dice que al estar en el [entorno de desarrollo](concept-configurations.md#environment-constants),
la aplicación debe incluir un módulo llamado `gii`, cuya clase es [[yii\gii\Module]].
la aplicación debe incluir el módulo llamado `gii`, cuya clase es [[yii\gii\Module]].
Si chequeas el [script de entrada](structure-entry-scripts.md)`web/index.php` de tu aplicación, encontrarás la línea
Si chequeas el [script de entrada](structure-entry-scripts.md)`web/index.php` de tu aplicación, encontrarás la línea
que esencialmente define la constante `YII_ENV_DEV` como true.
que esencialmente define la constante `YII_ENV_DEV` como verdadera -`true`.
```php
```php
defined('YII_ENV')ordefine('YII_ENV','dev');
defined('YII_ENV')ordefine('YII_ENV','dev');
```
```
De esta manera, tu aplicación ha habilitado Gii, y puedes acceder al módulo a través de la URL:
De esta manera, tu aplicación habrá habilitado Gii, y puedes acceder al módulo a través de la siguiente URL:
Generando una Clase Active Record <a name="generating-ar"></a>
Generando una Clase Active Record <a name="generating-ar"></a>
---------------------------------
---------------------------------
Para poder generar una clase Active Record con Gii, selecciona "Model Generator" completa el formulario de la siguiente manera,
Para poder generar una clase Active Record con Gii, selecciona "Model Generator" (haciendo click en el vínculo que existe en la página inicial del modulo Gii). Después, completa el formulario de la siguiente manera,
* Table Name: `country`
* Table Name: `country`
* Model Class: `Country`
* Model Class: `Country`
![Model Generator](images/start-gii-model.png)
![Model Generator](images/start-gii-model.png)
Haz click el el botón "Preview". Verás que `models/Country.php` es listado en el cuadro de resultado.
Haz click el el botón "Preview". Verás que `models/Country.php` está mostrado listado como la clase resultante que ha de ser creada. Puedes hacer click en el nombre de la clase para previsualizar su contenido.
Puedes hacer click en él para previsualizar su contenido.
Debido a que en la última sección ya habías creado el archivo `models/Country.php`, si haces click
Al utilizar Gii, si habías creado previamente el mismo archivo y puede ser sobrescrito, si haces click
en el botón `diff` cercano al nombre del archivo, verás las diferencias entre el código a ser generado
en el botón `diff` cercano al nombre del archivo, verás las diferencias entre el código a ser generado
y el código que ya habías escrito.
y la versión existente del mismo.
![Previsualización del Model Generator](images/start-gii-model-preview.png)
![Previsualización del Model Generator](images/start-gii-model-preview.png)
Marca el checkbox que se encuentra al lado de "overwrite" y entonces haz click en el botón "Generate".
Para sobrescribir un archivo existente, marca el checkbox que se encuentra al lado de "overwrite" y posteriormente haz click en el botón "Generate".
Verás una página de confirmación indicando que el código ha sido generado correctamente y tu archivo `models/Country.php`
ha sido sobrescrito con el código generado ahora.
Después, verás una página de confirmación indicando que el código ha sido generado correctamente y tu archivo `models/Country.php`
ha sido sobrescrito con el nuevo código generado.
Generando código de ABM (CRUD en inglés) <a name="generating-crud"></a>
Generando código de ABM (CRUD en inglés) <a name="generating-crud"></a>
----------------------------------------
----------------------------------------
Para generar un ABM, selecciona "CRUD Generator". Completa el formulario de esta manera:
En computación, CRUD es el acrónimo de Crear, Obtener, Actualizar y Borrar (del inglés: Create, Read, Update y Delete)
representando la cuatro funciones con datos más comunes en la mayoría de sitios Web.
El acrónimo ABM es Altas, Bajas y Modificaciones. Para generar un ABM, selecciona "CRUD Generator" y completa el formulario de esta manera:
* Model Class: `app\models\Country`
* Model Class: `app\models\Country`
* Search Model Class: `app\models\CountrySearch`
* Search Model Class: `app\models\CountrySearch`
...
@@ -85,13 +86,12 @@ Para generar un ABM, selecciona "CRUD Generator". Completa el formulario de esta
...
@@ -85,13 +86,12 @@ Para generar un ABM, selecciona "CRUD Generator". Completa el formulario de esta
Al hacer click en el botón "Preview" verás la lista de archivos a ser generados.
Al hacer click en el botón "Preview" verás la lista de archivos a ser generados.
Asegúrate de haber marcado el checkbox de sobrescribir (overwrite) para ambos archivos: `controllers/CountryController.php` y
Si has creado previamente los archivos `controllers/CountryController.php` y
`views/country/index.php`. Esto es necesario ya que los archivos habían sido creados manualmente antes
`views/country/index.php` (en la sección sobre bases de datos de esta guía), asegúrate de seleccionar el checkbox "overwrite" para reemplazarlos. (Las versiones anteriores no disponían de un soporte ABM (CRUD) completo.)
en la sección anterior y ahora los quieres sobrescribir para poder tener un ABM funcional.
Intentándolo <a name="trying-it-out"></a>
Probándolo <a name="trying-it-out"></a>
------------
----------
Para ver cómo funciona, accede desde tu navegador a la siguiente URL:
Para ver cómo funciona, accede desde tu navegador a la siguiente URL: