Edición de «AutoCarga de Objetos KumbiaPHP»
De KumbiaPHP Framework Wiki
Advertencia: no has iniciado sesión. Tu dirección IP se hará pública si haces cualquier edición. Si inicias sesión o creas una cuenta, tus ediciones se atribuirán a tu nombre de usuario, además de otros beneficios.
Puedes deshacer la edición. Antes de deshacer la edición, comprueba la siguiente comparación para verificar que realmente es lo que quieres hacer, y entonces guarda los cambios para así efectuar la reversión.
Revisión actual | Tu texto | ||
Línea 1: | Línea 1: | ||
− | |||
− | |||
− | |||
− | |||
== Sobre la AutoCarga de Objetos == | == Sobre la AutoCarga de Objetos == | ||
− | En | + | En KumbiaPHP Framework existe una implementación que ahorra muchísimo trabajo y como la intención es aprovechar al máximo las bondades del framework, en este sentido tenemos la '''AutoCarga de Objeto''', la cual como su nombre indica asocia un campo de formulario (form) a una tabla y campo de la BD. |
− | + | KumbiaPHP implementa la autocarga de objeto la cual siguiendo la convencion model.field en este caso el model es "controllers" si vamos a la BD se vera que existe una tabla llamada "controllers" y field (campo) serán los campos de esa tabla. | |
− | Veamos la estructura de tabla '' | + | Veamos la estructura de tabla ''controllers'': |
<pre> | <pre> | ||
− | CREATE TABLE | + | CREATE TABLE controllers |
( | ( | ||
id int unique not null auto_increment, | id int unique not null auto_increment, | ||
nombre varchar(100), | nombre varchar(100), | ||
− | + | url varchar(100) not null, | |
+ | status char(1) not null, | ||
+ | perfiles_id int not null, | ||
+ | menu_id int not null, | ||
primary key(id), | primary key(id), | ||
+ | foreign key(perfiles_id) references perfiles(id), | ||
+ | foreign key(menu_id) references menus(id) | ||
) | ) | ||
</pre> | </pre> | ||
− | En concordancia con los fields (campos) de la tabla " | + | En concordancia con los fields (campos) de la tabla "controllers" se indica el comportamiento de la ''AutoCarga de Objeto'' para que el controller no tener que recoger cada uno de los valores enviado por POST. |
Para este caso haremos en los helpers: | Para este caso haremos en los helpers: | ||
<pre> | <pre> | ||
− | text_field_tag(array(' | + | text_field_tag(array('controllers.url')) |
− | |||
− | |||
− | |||
− | |||
</pre> | </pre> | ||
− | Automáticamente cuando ese valor vaya al action menus/create KumbiaPHP interpreta que existe una tabla " | + | Automáticamente cuando ese valor vaya al action menus/create KumbiaPHP interpreta que existe una tabla "controllers" con un campo "url" y si vemos la estructura de la tabla es asi. |
− | + | <source lang=php > | |
− | |||
− | <source lang= | ||
<?php View::content(); ?> | <?php View::content(); ?> | ||
− | <?php echo form_tag(' | + | <?php echo form_tag('controllers/create') ?> |
<table> | <table> | ||
− | + | <tr> | |
− | <td> | + | <td>Perfil</td> |
− | <td><?php echo text_field_tag(array(' | + | <td><?php echo select_tag(array('controllers.perfiles_id', |
− | + | $perfiles, 'option' => 'nombre', | |
− | + | 'include_blank' => 'Seleccione...')) ?> | |
− | + | </td> | |
− | + | </tr> | |
− | + | <tr> | |
− | + | <td>Menú</td> | |
− | <td> </td> | + | <td><?php echo select_tag(array('controllers.menu_id', |
− | + | $menus, 'option' => 'nombre', | |
− | + | 'include_blank' => 'Seleccione...')) ?> | |
+ | </td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>URL</td> | ||
+ | <td><?php echo text_field_tag(array('controllers.url')) ?></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Nombre a mostrar</td> | ||
+ | <td><?php echo text_field_tag(array('controllers.nombre')) ?></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Estado</td> | ||
+ | <td><?php echo select_tag(array('controllers.status', | ||
+ | array('A'=>'Activo','D'=>'Desactivado'), | ||
+ | 'include_blank' => 'Seleccione...'))?> | ||
+ | </td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td> </td> | ||
+ | <td><?php echo submit_tag('Agregar') ?></td> | ||
+ | </tr> | ||
</table> | </table> | ||
<?php echo end_form_tag() ?> | <?php echo end_form_tag() ?> | ||
</source> | </source> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
[[Categoría:Tutoriales KumbiaPHP]] | [[Categoría:Tutoriales KumbiaPHP]] |