2. Programa
18:30 - 18:40 :
Entrega de documentación ,
presentación e introducción.
18:40 - 18:50:
Ejemplos
18:50 - 19:00:
Preguntas
3. Presentación
ETSIIT - UGR Asociación de
Webmasters de Granada
http://etsiit.ugr.es http://www.webmastergranada.es
3 de 29
4. 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
5. 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
7. ¿Qué es ZENPHP y para qué se usa?
ZEN
Lenguaje del alma de inmensa profundidad
PHP
P 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
8. Introdución histórica
Zenphp surgió en un principio como un método para encontrar
un 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
9. PHP ó ZENPHP
PHP ZENPHP
class miAplicacion { class miAplicacion
function extends
miAplicacion() zen_aplicacion
{
{ function miAplicacion()
//inicialización {
} parent::
zen_aplicacion();
}
}
}
9 de 29
10. 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.
11. 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ólida
Diseñadores: plantillas editables, multimedia accesible
Al mismo tiempo mejora la experiencia relacionada con:
Navegadores: optimización de visualización
Buscadores: al estar bien estructurado facilita la búsqueda
de información.
11 de 29
16. 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
18. 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.php
5. Por defecto se asocia la plantilla XHTML base a la llamada
principal de la vista de la aplicación principal: base_web.html
prueba.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
19. Ejercicio: listado productos
Crear una aplicación que contenga los elementos
Página por defecto: una base XHTML
Listado de productos
Modelo asociado a una tabla de
productos
Vista asociada a una plantilla
2 ficheros de plantilla, para enlaces y
para el listado en sí
Enlaces a cada producto
Direcciones URL amigables con Google
19 de 29
20. 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
21. Ejemplos: plantillas II
Contenido de un listado.html :
<ul id="listado_productos">
#elementos#
</ul>
Contenido de los elementos.html :
<li>
<a
href="/producto/#idp#/#titulo_formateado#/">
#titulo#
</a>
</ul>
21 de 29
22. Ejemplos: modelos
Contenido de modelos/productos.php
class productos extends zen_html_modelo_datos {
//La vista: html_productos
var $html; //herencia
var $campos;
function productos () {
parent::zen_modelo_datos(
$padre,"","productos"
);
}
}
22 de 29
23. 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
}