Diferencia entre revisiones de «Beta2 scaffold»
(Página creada con '== Scaffold para KumbiaPHP beta 2 == Scaffold para Kumbiaphp beta 2 {{cleanupbox |image=45px |texto ='''Este Artículo cumple con todos lo...') |
m (Revertidos los cambios de 85.54.194.249 (disc.) a la última edición de Joanhey) |
||
(No se muestran 5 ediciones intermedias de 3 usuarios) | |||
Línea 52: | Línea 52: | ||
'''''[app]/controllers/menus_controller.php:''''' | '''''[app]/controllers/menus_controller.php:''''' | ||
<source lang="php" line> | <source lang="php" line> | ||
+ | <?php | ||
class MenusController extends ScaffoldController{ | class MenusController extends ScaffoldController{ | ||
public $model = 'menus'; | public $model = 'menus'; | ||
Línea 85: | Línea 86: | ||
Asi uno cambia los views a su gusto donde quiera y progresivamente. | Asi uno cambia los views a su gusto donde quiera y progresivamente. | ||
+ | |||
+ | == Ejemplo de Funcionamiendo == | ||
+ | |||
+ | Asi queda en este ejemplo vamos a mostrar el scaffold de categorias | ||
+ | |||
+ | |||
+ | Este es nuestro modelo se llama categorias.php | ||
+ | |||
+ | [[Archivo:Scanffold_03_modelo.png]] | ||
+ | |||
+ | Este es nuestro controlador se llama categoria_controller.php | ||
+ | |||
+ | [[Archivo:Scanffold04_controlador.png]] | ||
+ | |||
+ | no hay necesidad de hacer una vista pero si se quiere se puede hacer XD | ||
+ | |||
+ | [[Archivo:Scanffold_01.png]] | ||
+ | |||
+ | Editar categoria | ||
+ | |||
+ | [[Archivo:Scanffold 02 editar.png]] | ||
[[Categoría:Tutoriales KumbiaPHP]] | [[Categoría:Tutoriales KumbiaPHP]] | ||
[[Categoría:Tutoriales KumbiaPHP Beta2]] | [[Categoría:Tutoriales KumbiaPHP Beta2]] |
Revisión actual del 13:18 15 feb 2019
Sumario
Scaffold para KumbiaPHP beta 2[editar]
Scaffold para Kumbiaphp beta 2
{{#if:
|}}Este Artículo cumple con todos los requererimientos de los Kumbieros. |
{{{imageright}}} |
{{#if:
|}}{{{image}}} | Este ejemplo es funcional para la Versión Beta2 en desarrollo es un boceto de Scaffold |
{{{imageright}}} |
Introducción[editar]
Para empezar es importante saber que el Scaffold se utilizó hasta la versión estable de Kumbiaphp 0.5 y que al salir la versión de Kumbiaphp 1.0 Spirit beta 1 se dejó a un lado.
Viendo la necesidad y las facilidades que el Scaffold proporciona al apoyo de aplicaciones, el equipo de desarrollo de Kumbiaphp vuelve a incorporar un nuevo Scaffold para su versión en prueba KumbiaPHP beta 2, mejorando y robusteciendo el desempeño del Scaffold para el Framework y que sin duda aporta a un gran avance en cualquier desarrollo de aplicación para usuarios iniciados en el uso de Kumbiaphp y usuarios avanzados, entregando para todos una gama alta de posibilidades.
Concepto[editar]
Scaffold es un método de meta-programación para construir aplicaciones de software que soportan bases de datos. Esta es una nueva técnica soportada por algunos frameworks del tipo MVC (Modelo-Vista-Controlador), donde el programador debe escribir una especificación que escriba como debe ser usada la aplicación de bases de datos. El compilador luego usara esta para generar un código que pueda usar la aplicación para leer, crear, actualizar y borrar entradas de la base de datos (algo conocido como CRUD o ABM), tratando de poner plantillas como un andamio Scaffold) en la cual construir una aplicación mas potente. Scaffolding es la evolución de códigos genereadores de bases de datos desde ambientes mas desarrollados, como ser CASE Generator de Oracle y otros tantos servidores 4GL para servicios al Cliente. Scaffolding se hizo popular gracias al framework "Ruby on Rails", que ha sido adptado a otros frameworks, incluyendo Django, Monorail, KumbiaPHP framework entre otros.
Tomado de: Scaffolding Kumbiaphp
Objetivo[editar]
Crear un CRUD 100% Funcional con tan solo 2 líneas de código en mi controller.
Kumbiaphp beta2, Tomará como por arte de magia los parámetros indicados en mi TABLA y armará todo el CRUD.
Primeros Pasos[editar]
Para realizar nuestro primer Scaffold, vamos a utilizar el mismo modelo que trabajamos en el CRUD para KumbiaPHP Beta2, y que tiene por nombre menus.
Modelo[editar]
Crear el modelo, como de costumbre apuntando siempre a la clase ActiveRecord.
[app]/models/menus.php:
<?php
class Menus extends ActiveRecord{
}
Controlador[editar]
Crear el Controlador en este ejemplo, NO apuntaremos a la clase AppController y SI a la clase ScaffoldController
[app]/controllers/menus_controller.php:
<?php
class MenusController extends ScaffoldController{
public $model = 'menus';
}
Aquí terminan nuestros primeros pasos. No es necesario MAS NADA, Tendremos por arte de magia un CRUD 100% Funcional.
Ventajas[editar]
1. Podremos ir cargando nuestros primeros registros en la BD
2. Pruebas al insertar registros
3. Avance progresivo, ya que podremos ir sustituyendo las vistas del Scaffold por mis propias vistas.
Desventaja[editar]
1. El Scaffold no es para hacer sistemas, si no para ayudar al principio de una aplicación.
Views para el scaffold[editar]
Por defecto usa los de views/_shared/scaffolds/kumbia/... Uno puede crear los suyos dentro de scaffolds views/_shared/scaffolds/foo/... y en el controller ademas del atributo $model añade; public $scaffold = 'foo';
Asi usara los views de scaffolds/foo/...
Mas importante es todavia, que uno puede crear sus views como siempre. es decir, si creas el controller MiController y creas el view en views/mi/editar.phtml (por ejemplo) usara primero el view, si no existe usara el de scaffolds. Asi uno cambia los views a su gusto donde quiera y progresivamente.
Ejemplo de Funcionamiendo[editar]
Asi queda en este ejemplo vamos a mostrar el scaffold de categorias
Este es nuestro modelo se llama categorias.php
Este es nuestro controlador se llama categoria_controller.php
no hay necesidad de hacer una vista pero si se quiere se puede hacer XD
Editar categoria