zenphp - presentación de septiembre en la etsiit - programador php

29
zenphp Framework (introducción) Juan Belón

Upload: juan-belon-perez

Post on 23-Jun-2015

889 views

Category:

Technology


1 download

DESCRIPTION

Gracias a http://programadorphp.orgFue mi charla de septiembre 2009 sobre el framework zenphp.

TRANSCRIPT

Page 1: Zenphp - Presentación de Septiembre en la Etsiit - Programador PHP

zenphp Framework(introducción)

Juan Belón

Page 2: Zenphp - Presentación de Septiembre en la Etsiit - Programador PHP

Programa

18:30 - 18:40 : Entrega de documentación , presentación e introducción.18:40 - 18:50: Ejemplos18:50 - 19:00: Preguntas

Page 3: Zenphp - Presentación de Septiembre en la Etsiit - Programador PHP

Presentación

ETSIIT - UGR

http://etsiit.ugr.es

Asociación de Webmasters de Granada

http://www.webmastergranada.es

3 de 29

Page 4: Zenphp - Presentación de Septiembre en la Etsiit - Programador PHP

Objetivos

Dar una visión global de cómo se crea una aplicación web con zenphp.Adquirir aptitudes para evaluar la calidad de un framework.Conocer las herramientas de edición y generación.Justificar la necesidad de usar estándares de accesibilidad.Aprender mediante la práctica a crear una aplicación web básica: un listado de productos.Un repaso a algunas herramientas de depuración.Dudas , preguntas…

4 de 29

Page 5: Zenphp - Presentación de Septiembre en la Etsiit - Programador PHP

Qué no vamos a ver

Al tener tan poco tiempo hay cosas que no podremos ver:No estudiaremos en profundidad XHTML ni CSS.No estudiaremos usabilidad ni posicionamiento.No aprenderemos a publicar una página web. No aprenderemos a evaluar la eficiencia de un framework.

5 de 29

Page 6: Zenphp - Presentación de Septiembre en la Etsiit - Programador PHP

Introducción Histórica

6 de 29

Page 7: Zenphp - Presentación de Septiembre en la Etsiit - Programador PHP

¿Qué es ZENPHP y para qué se usa?

ZEN Lenguaje del alma de inmensa profundidad

PHPP HP H ypertext P re-processor[P ersonal H ome P age Tools]

Lenguaje para crear páginas web dinámicas.

Se usa para dinamizar los contenidos de los documentos de hipertexto de forma equilibrada y sin coste de licencias.

7 de 29

Page 8: Zenphp - Presentación de Septiembre en la Etsiit - Programador PHP

Introdución histórica

Zenphp surgió en un principio como un método para encontrarun equilibrio entre el uso del cerebro profundo y el superficial,como dijo el Maestro Taisen Deshimaru: “la verdadera evolución nace cuando el cerebro interno y el hipotálamo se fortalecen, hace falta una verdadera educación ”.Versión 0.1 – 2004-05

Finalista CUSL – 2007-08

Mención –PIE – 2008-09

Proyectos – 2004 al 2009

Page 9: Zenphp - Presentación de Septiembre en la Etsiit - Programador PHP

PHP ó ZENPHP

PHPclass miAplicacion {function miAplicacion() {//inicialización }

}

ZENPHPclass miAplicacion extends zen_aplicacion {function miAplicacion() {parent:: zen_aplicacion();}

}

9 de 29

Page 10: Zenphp - Presentación de Septiembre en la Etsiit - Programador PHP

El Framework zenphp

Hay 3 conceptos fundamentales al usar el framework:Modelo:Separa completamente el contenido de la presentación. Se asocian a tablas de una base de datos.Vista:Permite el control del flujo del contenido asociado a un Modelo.Presenta dicho contenido a través de una plantilla.Conjuntos: Funciones, Librerías y Plantillas:Las funciones se usan para formatear contenido, las librerías para realizar funcionalidades extra y las plantillas son el diseño XHTML que sirve como base para rellenarlas con el contenido.

Page 11: Zenphp - Presentación de Septiembre en la Etsiit - Programador PHP

Intro. - ¿Cómo funciona?No es más que una serie de pautas y recomendaciones que han sido creadas para garantizar el procesamiento de la información de una manera flexible.Estas facilitan la creación y mantenimiento a:

Programadores: código organizado, estructura sólidaDiseñadores: plantillas editables, multimedia accesible

Al mismo tiempo mejora la experiencia relacionada con:

Navegadores: optimización de visualizaciónBuscadores: al estar bien estructurado facilita la búsqueda de información.

11 de 29

Page 12: Zenphp - Presentación de Septiembre en la Etsiit - Programador PHP

Intro.- ¿Cómo funciona?

12 de 29

Page 13: Zenphp - Presentación de Septiembre en la Etsiit - Programador PHP

Intro. - ¿Cómo funciona?

13 de 29

Page 14: Zenphp - Presentación de Septiembre en la Etsiit - Programador PHP

Intro. - ¿Cómo funciona?

Page 15: Zenphp - Presentación de Septiembre en la Etsiit - Programador PHP

Intro.- ¿Cómo funciona?

15 de 29

Page 16: Zenphp - Presentación de Septiembre en la Etsiit - Programador PHP

Intro. - ¿Por qué funciona?

En la informática se pretende encontrar un equilibrio entre procesos que automatizan las tareas y el mantenimiento de los sistemas. Funciona porque nos permite centrarnos en la solución del problema.

Es rápido y se puede modificar fácilmente. Sin cambios en el núcleo.

16 de 59

Page 17: Zenphp - Presentación de Septiembre en la Etsiit - Programador PHP

Ejemplos

Pautas. Plantillas. Modelos. Vistas.

17 de 29

Page 18: Zenphp - Presentación de Septiembre en la Etsiit - Programador PHP

Ejemplos - Pautas

1. Diseñe el contenido visual y auditivo. (XHTML+CSS+FLASH)2. Disponga el contenido en los directorios dentro de /media/

Tenga en cuenta que cada plantilla irá en un idioma /media/plantillas/es/base_web.html

3. Cree el directorio /aplicaciones/ y dentro la aplicación y su configuración/aplicaciones/prueba.config.php/aplicaciones/prueba.php

4. Cree la instanciación de la clase principal en /index.php5. Por defecto se asocia la plantilla XHTML base a la llamada

principal de la vista de la aplicación principal: base_web.htmlprueba.php -> clase prueba_html -> función index()Esto se hace para el idioma principal.

6. Cree la lógica de programación usando modelos y vistas asociados como hijos en la estructura de la aplicación principal

7. Haga a Padres e hijos son accesibles

Page 19: Zenphp - Presentación de Septiembre en la Etsiit - Programador PHP

Crear una aplicación que contenga los elementos

Página por defecto: una base XHTMLListado de productos

Modelo asociado a una tabla de productosVista asociada a una plantilla2 ficheros de plantilla, para enlaces y para el listado en sí

Enlaces a cada productoDirecciones URL amigables con Google

Ejercicio: listado productos

19 de 29

Page 20: Zenphp - Presentación de Septiembre en la Etsiit - Programador PHP

Ejemplos: plantillas I

La estructura básica de un documento XHTML con información de plantilla es la siguiente: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> <title>#titulo#</title> <!-- Información relevante para buscadores y navegadores -->#scripts# #css# </head> <body #onloads#>#contenido# </body> </html>

20 de 29

Page 21: Zenphp - Presentación de Septiembre en la Etsiit - Programador PHP

Ejemplos: plantillas II

Contenido de un listado.html : <ul id="listado_productos">#elementos#</ul> Contenido de los elementos.html : <li><ahref="/producto/#idp#/#titulo_formateado#/">#titulo#</a></ul>

21 de 29

Page 22: Zenphp - Presentación de Septiembre en la Etsiit - Programador PHP

Ejemplos: modelos

Contenido de modelos/productos.php class productos extends zen_html_modelo_datos {//La vista: html_productosvar $html; //herenciavar $campos; function productos () {parent::zen_modelo_datos($padre,"","productos");}}

22 de 29

Page 23: Zenphp - Presentación de Septiembre en la Etsiit - Programador PHP

Ejemplos: vistas

Contenido de una función de vistas/ html_producto.php :class html_productos extends zen_html_modelo_datos { function index() {$this->padre->campos = "idp,titulo";return $this->listado("elementos.html", //las plantillas"productos.html", "elementos");}} 23 de 29

Page 24: Zenphp - Presentación de Septiembre en la Etsiit - Programador PHP

Ejercicio avanzado:

URL amigables con Google (SEO)

Page 25: Zenphp - Presentación de Septiembre en la Etsiit - Programador PHP

Ejemplos: vistasclass html_productos extends zen_html_modelo_datos {function index() {$this->padre->campos = "idp,titulo,titulo as titulo_formateado";$this->filtros_postprocesamiento = array("titulo_formateado"=>"zen_codifica_nombre_para_url ");return $this->listado("elementos.html", "productos.html", "elementos");}} 25 de 29

Page 26: Zenphp - Presentación de Septiembre en la Etsiit - Programador PHP

Casos reales (I)

26 de 29

Page 27: Zenphp - Presentación de Septiembre en la Etsiit - Programador PHP

Casos reales (II)

27 de 29

Page 28: Zenphp - Presentación de Septiembre en la Etsiit - Programador PHP

El modelo de caja

Page 29: Zenphp - Presentación de Septiembre en la Etsiit - Programador PHP

Esto ha sido todo...

¡¡PRACTICAR MUCHO!!