Capacitacion Kumbia PHP Framework

21
Enero 2009 Deivinson Tejeda Team Developer Capacitación Kumbia PHP Framework Fundacite Mérida

description

Laminas utilizadas durante la capacitación Fundacite Mérida.

Transcript of Capacitacion Kumbia PHP Framework

Page 1: Capacitacion Kumbia PHP Framework

Enero 2009

Deivinson Tejeda

Team Developer

Capacitación Kumbia PHP Framework

Fundacite Mérida

Page 2: Capacitacion Kumbia PHP Framework

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.

Page 3: Capacitacion Kumbia PHP Framework

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..”

Page 4: Capacitacion Kumbia PHP Framework

MVC como arquitectura

Base de Datos

Browser envía una Petición

Base de Datos

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

Page 5: Capacitacion Kumbia PHP Framework

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.

Page 6: Capacitacion Kumbia PHP Framework

6

Que hace Kumbia?

Define una filosofíafilosofía de trabajo.ProporcionaProporciona librerías y funciones.AhorraAhorra trabajo y tiempo.Producir aplicaciones más fácil de mantenerfácil de mantener.Evitar duplicarduplicar código.Crear aplicaciones Multi-CapasMulti-Capas

Page 7: Capacitacion Kumbia PHP Framework

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 :)

Page 8: Capacitacion Kumbia PHP Framework

8

Creación de proyectos (Instalación)

Pre-requisitosServidor web.PHP5.

InstalaciónDescargar el framework.Habilitar mod_rewrite o re-escritura de URLsColocar el framework en el DocumentRoot.

Page 9: Capacitacion Kumbia PHP Framework

9

Estructura de Kumbia

Page 10: Capacitacion Kumbia PHP Framework

10

Vamos a la acción...

“Hola Mundo”Para nosotros “Hola Kumbia”.Recordemos el MVC.Creamos el Controlador saludo_controller.phpsaludo_controller.phpCreamos el directorio de las vistas del Controlador.Creamos la vista de la acción.Ejecutamos el controller

http://localhost/kumbia/saludo/

Page 11: Capacitacion Kumbia PHP Framework

11

Kumbia y su URL's

http://localhost/kumbia/saludo/index/

Dominiohttp://localhost

Aplicación/kumbia

Acción/index

Controller/saludo

Page 12: Capacitacion Kumbia PHP Framework

12

Kumbia y su URL's

http://localhost/kumbia/prueba/saludo/index/20/

Dominiohttp://localhost

Controlador/prueba

Aplicación/kumbia

Modulo/prueba

Acción/index

Parámetros/20

Page 13: Capacitacion Kumbia PHP Framework

13

Request (Petición)

Nuevo RequestUrl: articulos/ver/123

Mod_rewrite a index.phpapp/public/index.php

RouterAnaliza la url pasada

DispatcherCarga el controlador adecuado

Routes.iniAnaliza si la url esta enrutada

ControllerEjecuta la acción

before_filterPlugins

after_filterPlugins

Plugins (hooks)

Models

Partials

Layouts

Templates

Views

Helpers

Page 14: Capacitacion Kumbia PHP Framework

14

Que es el Dispatcher?

DispatcherExceptionSolicita información

al Router(Controller, Action, Param)

DISPATCHER

Existe Controller

No

Instancia ControllerNew Controller()

S

i

Ejecuta before_filter()run_before_filter()

Ejecuta la actionController->action()

Ejecuta after_filter()run_after_filter()

RouterObtuvo la Información

de la URL

Serializa ControllerQue no sean modelos

Modelos como atributos

$this->models

No Existe

El DispatcherEs el componentede kumbia, que obtiene mediante

El Router, El controlador y laacción a ejecutar,

así como losparámetros adicionales

pasados

Page 15: Capacitacion Kumbia PHP Framework

15

La Constante KUMBIA_PATH

La re-escritura de URL lleva algunas confusionesconfusiones 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 falso aunque el HTML es válidohttp://localhost/kumbia/saludo/img/ok.gifLa ruta que deseamos incluir es:http://localhost/kumbia/img/ok.gif

Page 16: Capacitacion Kumbia PHP Framework

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.

http://localhost/kumbia/ Controlador: ControllerBaseAccion: init()

http://localhost/kumbia/saludo/ Controlador: SaludoControllerAccion: index()

Controlador: ControllerBaseAccion: init()Controlador: ControllerBaseAccion: init()

http://localhost/kumbia/saludo/hola/ Controlador: SaludoControllerAccion: hola()

Page 17: Capacitacion Kumbia PHP Framework

Enero 2009

Deivinson Tejeda

Team Developer

Templates, Layouts, ViewsKumbia PHP Framework

Page 18: Capacitacion Kumbia PHP Framework

18

Que son las vistas?

Kumbia posea un sistema de presentación basado en viewsSistema de plantillas y vistas que son re-utilizableLas vistas deberían contener una cantidad mínima de código PHP.

Page 19: Capacitacion Kumbia PHP Framework

19

Porque usar Vistas?

HEADER

FOOTER

SIDEBAR CONTENTPartials

Layouts

Templates

HelpersViews

Page 20: Capacitacion Kumbia PHP Framework

20

Estructura del Sistema de Vistas

views/templates/index.phtml

views/layouts/menu.phtml

views/controller/index.phtml

views/controller/partials/partials.phtml

Page 21: Capacitacion Kumbia PHP Framework

21

Enlaces...

Sitio Web

http://www.kumbiaphp.com

Wiki

http://wiki.kumbiaphp.comSourceForge

http://sourceforge.net/projects/kumbia/

Launchpad

https://launchpad.net/kumbia

Forohttp://www.kumbiaphp.com/foro

Lista de Correo

http://groups.google.com/group/kumbia?hl=es

Deivinson Tejeda

[email protected]