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.

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:

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.
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!
muchas gracias por el dato Luis, yo todavia no llegue a probarlo tanto como para encontrar esos bugs, pero gracias por el consejo.
Ha si, una cosita, no te recomiendo dejar tu direccion de email asi como texto porque se te va a llenar de spam el buzon, mejor usa algo de esto
http://latingeeks.net/icons-generators-for-email/
[…] 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 […]
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
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
Gracias baku esa informacion les sera util a varios.
Disculpa Eli Salu, pero esos errores son muy windowseros….no los entiendo….
Aparte de eso, segun entiendo, estaban trabajando en otra version de Scaffold que era mucho mas facil de usar y personalizar….en general cuando tengo dudas entro al IRC de Kumbiaphp y les pregunto a la gente de ahi….que si sabe….no como yo :(
http://www.kumbiaphp.com/blog/irc/
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?
Dariana: StandardForm ya no se usa, yo solo lo use una vez para hacer este ejemplo y nada mas, en general siempre uso esto http://wiki.kumbiaphp.com/CRUD
Es mas largo pero es mas personalizable. Me acabo de bajar la ultima version de kumbia desde el svn y no tiene la opcion para StandardForm
y como seria el ejemplo para la version beta 2 de kumbiaphp