Gii es una extensión que proporciona un generador de código basado en web para generar modelos, formularios, módulos, CRUDs, etc.
Por defecto, están disponibles los siguientes generadores
- Modelo Generador – Genera una clase ActiveRecord para una tabla de base de datos especificada.
- Generador CRUD – Genera controladores y visualizaciones que implementan operaciones CRUD (Crear, Leer, Actualizar, Borrar) para el modelo especificado.
- Generador de controladores – Genera una nueva clase de controladores con una o más acciones de controlador y una pantalla correspondiente.
- Generador de formularios – Genera un archivo de secuencia de comandos de visualización que muestra el formulario para recopilar entradas para la clase de modelo especificada.
- Generador de módulos – Genera el código de esquema requerido por el módulo Yii.
- Generador de extensiones – Genera los archivos requeridos por la extensión Yii.
Usando Gii, escribir código se hace más rápido y fácil. Cuando queremos hacer que las operaciones CRUD sucedan en una página, sin cambiar de página, la plantilla por defecto de Gii no puede hacer eso todavía.
En este artículo, aprenderemos a utilizar plantillas Gii que ya soportan operaciones CRUD en una página utilizando Ajaxcrud creado por johnitvn.
Pasos para crear CRUD en una página con Ajaxcrud
- Instalar la extensión johnitvn/yii2-ajaxcrud usando composer
php composer.phar require --prefer-dist johnitvn/yii2-ajaxcrud "dev-master"
o añadiendo el siguiente código al archivo composer.json
"johnitvn/yii2-ajaxcrud": "dev-master"
- Esta extensión también requiere Awesome Font,una alternativa es usar FontAwesomeAsset de kartik-v/yii2-icons añadiendo el siguiente código al archivo composer.json.
"kartik-v/yii2-icons": "*"
- A continuación, abra Gii con Url: «http://localhost/yii2-advanced/frontend/web/index.php?r=gii. Si todo el proceso va bien, habrá un nuevo menú en Gii, a saber, «Ajax CRUD Generator.

- Una vez que todo está listo, creamos un modelo a partir de la tabla de la base de datos. En este ejemplo creamos un modelo a partir de la tabla «país

- Después de hacer el modelo, el siguiente paso es utilizar CRUD con «Ajax CRUD Generator»

- A continuación, abra el navegador con Url: «http://localhost/yii2-advanced/frontend/web/index.php?r=country. Verás que hay botones «Acciones» y «Nuevo registro» que no aparecen.

- Para que aparezca el botón, edita «frontend/views/country/index.php» y registra «FontAwesomeAsset» de «kartik-v/yii2-icons» como sigue.
............ ............ use kartikiconsFontAwesomeAsset; FontAwesomeAsset::register($this); ............ ............
- Abrir de nuevo Url: «http://localhost/yii2-advanced/frontend/web/index.php?r=country». Verá resultados como éste.

Suerte…
Que sea útil