Kumbia – Hacer un AMB en 5 minutos

Voy a seguir explicando un poco de KumbiaPHP framework. Hoy les voy a mostrar lo basico de los formularios StandarForm. Segun el manual:

StandardForm es una clase que proporciona Kumbia para la generación rápida de formularios que tengan como objetivo el mantenimiento de la información de tablas y captura de datos

Esta bastante sencillo de entender verdad? y si de todas formas todavia no entienden se daran cuenta una vez que vean el ejemplo. Algo a tener en cuenta es que aquellos que no hayan leido el primer ejemplo con kumbia deberian hacerlo para entender donde crear los archivos, etc, etc.

Esta vez usaremos un controlador y un modelo. La verdad no veremos mucho de como usar estos modelos hoy, solo nos servira para crear el modelo y ya. En otra ocasion les mostrare las ventajas de los modelos ActiveRecord. Lo primero sera crear una tabla en alguna base de datos. Por ejemplo yo cree la tabla clientes dentro de la base de datos negocio en mi servidor local.

Mysql
Mysql

En la creacion de la tabla hay una solo convencion que debemos seguir y es la de llamar id al campo indice de la tabla.

Ahora vamos a crear el modelo, para ello creamos un archivo llamado clientes.php (igual que la tabla) en la carpeta models con el siguiente contenido.

<?php
class Clientes extends ActiveRecord {
}
?>

Como veran el nombre de la clase tambien es igual al nombre de la tabla y hereda de ActiveRecord. Eso es todo lo necesario para crear el modelo. En otra ocasion explicare las ventajas de ActiveRecord.

Ahora creamos el controlador. Sera un archivo llamado clientes_controller.php en la carpeta controllers y que tendra el siguiente contenido:

<?php
class ClientesController extends StandardForm{
public $source = «clientes»;
public $scaffold = true;
}
?>

Como veran esta vez no hereda de applicacionController sino que hereda de StandardForm. StandardForm es la clase que nos permite crear estos formularios super rapidos. Y como veran hay 2 variables, una es $scaffold tiene que estar a true para que se generen los formularios y $source debe llevar el nombre del modelo que queremos usar. En este caso nosotros queremos usar el modelo clientes.php por eso establecimos $souce = «clientes».

Antes de probar es necesario configurar el archivo enviroment.ini que se encuentra dentro de config en la carpeta de instalacion de kumbia. Para que les quede algo asi:

[development]
database.host = localhost
database.username = root
database.password = suPassword
database.name = negocio
database.type = mysql

Y finalmente para probar el resultado en su navegador preferido colocan:

http://localhost/carpeta_de_instalacion_de_kumbia/default/clientes/

Y veran algo asi:

StandardForm
StandardForm

Como veran hacer un formulario de este tipo es sumamente sencillo con kumbia. El formulario creado tiene las opciones de Insertar, Modificar, Borrar, Hacer busquedas por los diferentes campos, Visualizar los datos y hacer resportes en formato PDF, EXCEL, WORD y HTML.

Y como si fuera poco todas las verificaciones se encuentran integradas, por ejemplo: si en la tabla de mysql el campo esta establecido como NOT NULL entonces a la hora de insertar un registro usando el formulario les mostrara una advertencia si es que no llenaron todos los campos. O por ej el campo Edad que es del tipo INT no les permitira ingresar otra cosa que no sean numeros, y muchas facilidades mas que si me pongo a enumerarlas no termino mas

Espero que les sea util y le saquen provecho. Saludos.

perro

Ingeniero en Informática. Programador en PHP y Angular. Lo que mas adoro en el mundo es el conocimiento. Y el anime....y Japón...y el running...y bloguear claro y algunas otras cientos de cosas. Sigo buscando la manera de hacer mi primer millón.
guest
10 Comments
Inline Feedbacks
View all comments
Luis Jordán

Gracias por el post, la verdad es que ha sido muy interesante conocer ese framework.
Aunque para todo aquel que lea este artículo he de decir que la versión 5.0 y 5.1 a día de hoy 1 de Abril del 2009 no son estables, están llenas de bugs y no van a funcionar correctamente.
Yo lo que he hecho desde ayer es bajar a la version 4.7 y con esa versión funciona todo lo que he probado hasta el momento correctamente.
De todos modos, si quereis compartir experiencias y opiniones, podéis escribirme a: programacionydiseno@hotmail.com

Saludos!

[…] usar ActiveRecord es necesario crear un modelo para cada tabla como ya habiamos visto en el ejemplo anterior. Es decir que por ejemplo para la tabla clientes nuestro modelo sera un archivo llamado […]

Eli Sahu

Disculpa pero no puedo crear el ejemplo, me sale un KumbiaException: Se esta tratando de ejecutar una operacion maliciosa!..
#0 C:\wamp\www\kumbia-0.4.7\forms\generator\main.php(486): ActiveRecord::sql_item_sanizite(‘?clientes?’)
#1 C:\wamp\www\kumbia-0.4.7\forms\generator\main.php(569): Generator::scaffold(Array, true)
#2 C:\wamp\www\kumbia-0.4.7\forms\controller\standard_form_controller.php(822): Generator::build_form(Array, true)
#3 [internal function]: StandardForm->index()
#4 C:\wamp\www\kumbia-0.4.7\kumbia.php(201): call_user_func_array(Array, Array)
#5 C:\wamp\www\kumbia-0.4.7\public\index.php(76): Kumbia::main()
#6 {main}

Como hago para solventar mi problema, Gracias y Disculpa

baku

A mi me daba un error igual. En mi caso uso Postgres y el problema se solucionó sencillamente definiendo las claves de las tablas como ‘serial PRIMARY KEY’ en lugar de ‘serial UNIQUE NOT NULL’ como hay que hacer en CakePHP.
Saludos

Dariana

Gracias por el ejemplo..programo desde hace poco tiempo pero kumbia me ha dejado :shock:
Seguí los pasos para el uso de formularios StandardForm..todo funciona bien excepto que solo me permite visualizar..nada de agregar consultar ni reportes..me parece que tiene que ver con la permisologia sobre la base de datos pero la verdad no estoy segura..sera que me puedes echar una mano con esto?

Charlescuellar

y como seria el ejemplo para la version beta 2 de kumbiaphp