2. Objetivos de la Capacitación
introducir al usuario a la utilización de Kumbia, como
framework de desarrollo de software de forma básica,
media y avanzada, apoyado en las mejores prácticas
del mercado.
2
3. Introducción a Kumbia PHP Framework
En un mercado actual inundado de frameworks MVC que
prometen ser la solución de desarrollo a cualquier tipo de
proyecto, Kumbia pretende ser una solución a cualquier tipo de
probelma y persona desde el principiante, pasando por el
desarrollador que no tiene tiempo para aprender un nuevo
framework hasta la empresa de desarrollo de software. Lo
importante es que exista una necesidad y que Kumbia pueda
ayudarte a hacerla realidad.
“...Porque programar debería ser mas fácil..”
3
4. MVC como arquitectura
Browser envía
una Petición
La petición es analizada y
enviada al controlador que
toma las decisiones lógicas e
interactúa con las vistas y
los modelos
El controlador llama una
vista para mostrarle la
información al usuario
Base de
Datos
5. Ventajas de la arquitectura MVC
Separación lógica de negocio de la lógica de diseño.
Desarrollo en varios niveles.
Distribuir el trabajo, cada grupo es abstraído del resto.
Reduce la complejidad y acelera el proceso de ensamblar
o desensamblar alguna capa.
5
6. Que hace Kumbia?
Define una filosofía de trabajo.
Proporciona librerías y funciones.
Ahorra trabajo y tiempo.
Producir aplicaciones más fácil de mantener.
mantener
Evitar duplicar código.
Crear aplicaciones Multi-Capas
6
7. Porque Kumbia?
Implementa los mejoras patrones de diseño.
Fomenta las características de la web 2.0.
Preocuparse por interfaces, lógica y procesos más
intuitivos y prácticos para usuarios.
Atacar necesidades reales y no desarrollar en supuestos
de utilidad.
Curva de aprendizaje es muy corta.
Kumbia habla español :)
7
8. Creación de proyectos (Instalación)
Pre-requisitos
Servidor web.
PHP5.
Instalación
Descargar el framework.
Habilitar mod_rewrite o re-escritura de URLs
Colocar el framework en el DocumentRoot.
8
10. Vamos a la acción...
“Hola Mundo”
Para nosotros “Hola Kumbia”.
Recordemos el MVC.
Creamos el Controlador saludo_controller.php
Creamos el directorio de las vistas del Controlador.
Creamos la vista de la acción.
Ejecutamos el controller
http://localhost/kumbia/saludo/
10
11. Kumbia y su URL's
http://localhost/kumbia/saludo/index/
Dominio
http://localhost
Aplicación
/kumbia
Controller
/saludo
Acción
/index
11
12. Kumbia y su URL's
http://localhost/kumbia/prueba/saludo/index/20/
Dominio
http://localhost
Aplicación
/kumbia
Modulo
/prueba
Controlador
/prueba
Acción
/index
Parámetros
/20
12
13. Request (Petición)
Nuevo Request
Url: articulos/ver/123
Mod_rewrite a index.php
app/public/index.php
Plugins (hooks) Router Routes.ini
Analiza la url pasada Analiza si la url esta enrutada
before_filter
Dispatcher
Plugins
after_filter Carga el controlador adecuado
Plugins
Controller
Models
Ejecuta la acción
Templates
Layouts Helpers
Views
Partials
13
14. Que es el Dispatcher?
DISPATCHER
Router Solicita información
No
Existe
Obtuvo la Información DispatcherException
al Router Controller
de la URL (Controller, Action, Param)
S
El Dispatcher
i
Es el componente Instancia Controller
de kumbia, que New Controller()
obtiene mediante
El Router,
Ejecuta before_filter()
El controlador y la
run_before_filter()
Modelos como
acción a ejecutar,
No Existe
atributos
así como los
$this->models
parámetros Ejecuta la action
adicionales Controller->action()
pasados
Ejecuta after_filter()
run_after_filter()
Serializa Controller
Que no sean modelos
14
15. La Constante KUMBIA_PATH
La re-escritura de URL lleva algunas confusiones
cuando queremos incluir img, css, js, etc y un ejemplo es
http://localhost/kumbia/saludo/
Podríamos pensar incluir una imagen en nuestra vista
<img alt='mi imagen' src='img/ok.gif' />
La trampa: es falso aunque el HTML es válido
http://localhost/kumbia/saludo/img/ok.gif
La ruta que deseamos incluir es:
http://localhost/kumbia/img/ok.gif
15
16. Controladores y Acciones por defecto
Para controlador kumbia creara una instancia de la clase
ControllerBase y ejecutara el método init().
Para una acción kumbia buscara el método index() ya sea
en el controlador o cualquiera de sus clases padres.
Controlador: ControllerBase
Controlador: ControllerBase
http://localhost/kumbia/ Accion: init()
Accion: init()
Controlador: SaludoController
http://localhost/kumbia/saludo/ Accion: index()
Controlador: SaludoController
http://localhost/kumbia/saludo/hola/ Accion: hola()
16
18. Que son las vistas?
Kumbia posea un sistema de presentación basado en
views
Sistema de plantillas y vistas que son re-utilizable
Las vistas deberían contener una cantidad mínima de
código PHP.
18
20. Estructura del Sistema de Vistas
views/templates/index.phtml
views/layouts/menu.phtml
views/controller/index.phtml
views/controller/partials/partials.phtml
20
21. Enlaces...
Sitio Web
http://www.kumbiaphp.com
Wiki
http://wiki.kumbiaphp.com
SourceForge
http://sourceforge.net/projects/kumbia/
Launchpad
https://launchpad.net/kumbia
Foro
http://www.kumbiaphp.com/foro
Lista de Correo
http://groups.google.com/group/kumbia?hl=es
Deivinson Tejeda
deivinsontejeda@kumbiaphp.com
21