SlideShare ist ein Scribd-Unternehmen logo
1 von 29
Downloaden Sie, um offline zu lesen
zenphp Framework
  (introducción)
     Juan Belón
Programa

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

   ETSIIT - UGR              Asociación de
                          Webmasters de Granada




   http://etsiit.ugr.es   http://www.webmastergranada.es



                                                   3 de 29
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
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
Introducción Histórica




                         6 de 29
¿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
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
PHP ó ZENPHP

           PHP                    ZENPHP
 class miAplicacion {   class miAplicacion
 function               extends
 miAplicacion()         zen_aplicacion
                        {
 {                      function miAplicacion()
 //inicialización       {
 }                      parent::
                        zen_aplicacion();
                        }
 }
                        }
                                            9 de 29
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.
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
Intro.- ¿Cómo funciona?




                          12 de 29
Intro. - ¿Cómo funciona?




                           13 de 29
Intro. - ¿Cómo funciona?
Intro.- ¿Cómo funciona?




                          15 de 29
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
Ejemplos

Pautas. Plantillas. Modelos. Vistas.




                                       17 de 29
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
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
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
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
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
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
}
Ejercicio avanzado:
URL amigables con Google (SEO)
Ejemplos: vistas
class 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
}
Casos reales (I)




                   26 de 29
Casos reales (II)




                    27 de 29
El modelo de caja
Esto ha sido todo...

       ¡¡PRACTICAR MUCHO!!

Weitere ähnliche Inhalte

Was ist angesagt?

J!D Barcelona 2009 - Taller Plantillas Avanzado
J!D Barcelona 2009 - Taller Plantillas AvanzadoJ!D Barcelona 2009 - Taller Plantillas Avanzado
J!D Barcelona 2009 - Taller Plantillas AvanzadoSergioIglesiasNET
 
Desarrollar un módulo para joomla
Desarrollar un módulo para joomlaDesarrollar un módulo para joomla
Desarrollar un módulo para joomlaivanGorL
 
Templates en Concrete5
Templates en Concrete5Templates en Concrete5
Templates en Concrete5UnderMedia_SA
 
MasterClass Desarrollo Plantillas Joomla!
MasterClass Desarrollo Plantillas Joomla!MasterClass Desarrollo Plantillas Joomla!
MasterClass Desarrollo Plantillas Joomla!SergioIglesiasNET
 
Joomla! en 10 minutos - JoomlaDay Sevilla 2015
Joomla! en 10 minutos  - JoomlaDay Sevilla 2015Joomla! en 10 minutos  - JoomlaDay Sevilla 2015
Joomla! en 10 minutos - JoomlaDay Sevilla 2015Carlos M. Cámara
 
Qué es y como se instala Joomla
Qué es y como se instala JoomlaQué es y como se instala Joomla
Qué es y como se instala JoomlaJorge García
 

Was ist angesagt? (10)

Atix13
Atix13Atix13
Atix13
 
J!D Barcelona 2009 - Taller Plantillas Avanzado
J!D Barcelona 2009 - Taller Plantillas AvanzadoJ!D Barcelona 2009 - Taller Plantillas Avanzado
J!D Barcelona 2009 - Taller Plantillas Avanzado
 
Desarrollar un módulo para joomla
Desarrollar un módulo para joomlaDesarrollar un módulo para joomla
Desarrollar un módulo para joomla
 
Manualcake
ManualcakeManualcake
Manualcake
 
Templates en Concrete5
Templates en Concrete5Templates en Concrete5
Templates en Concrete5
 
MasterClass Desarrollo Plantillas Joomla!
MasterClass Desarrollo Plantillas Joomla!MasterClass Desarrollo Plantillas Joomla!
MasterClass Desarrollo Plantillas Joomla!
 
Estructura de plantillas joomla
Estructura de plantillas joomlaEstructura de plantillas joomla
Estructura de plantillas joomla
 
Joomla! en 10 minutos - JoomlaDay Sevilla 2015
Joomla! en 10 minutos  - JoomlaDay Sevilla 2015Joomla! en 10 minutos  - JoomlaDay Sevilla 2015
Joomla! en 10 minutos - JoomlaDay Sevilla 2015
 
Qué es y como se instala Joomla
Qué es y como se instala JoomlaQué es y como se instala Joomla
Qué es y como se instala Joomla
 
CMS - Joomla
CMS - JoomlaCMS - Joomla
CMS - Joomla
 

Andere mochten auch

Exp3 Lineas de Campo
Exp3 Lineas de CampoExp3 Lineas de Campo
Exp3 Lineas de Campoguestb165f7
 
Proyecto Campos Electricos - Programador Servicios 3d
Proyecto Campos Electricos - Programador Servicios 3dProyecto Campos Electricos - Programador Servicios 3d
Proyecto Campos Electricos - Programador Servicios 3dJuan Belón Pérez
 
Aecem - Libro Blanco - Para Programador Php.org
Aecem - Libro Blanco  - Para Programador Php.orgAecem - Libro Blanco  - Para Programador Php.org
Aecem - Libro Blanco - Para Programador Php.orgJuan Belón Pérez
 
Yahoo! pipes + Wordpress plugin - RSS POWER to your blog
Yahoo! pipes + Wordpress plugin - RSS POWER to your blogYahoo! pipes + Wordpress plugin - RSS POWER to your blog
Yahoo! pipes + Wordpress plugin - RSS POWER to your blogJuan Belón Pérez
 
Aplicaciones y juegos para móbiles 2011: iOS, Android, Bada, Palm
Aplicaciones y juegos para móbiles 2011: iOS, Android, Bada, PalmAplicaciones y juegos para móbiles 2011: iOS, Android, Bada, Palm
Aplicaciones y juegos para móbiles 2011: iOS, Android, Bada, PalmJuan Belón Pérez
 
Infome 2 Lineas Equipotenciales Y Campo Electrico
Infome 2 Lineas Equipotenciales Y Campo ElectricoInfome 2 Lineas Equipotenciales Y Campo Electrico
Infome 2 Lineas Equipotenciales Y Campo Electricoguestd93ebf
 

Andere mochten auch (9)

Exp3 Lineas de Campo
Exp3 Lineas de CampoExp3 Lineas de Campo
Exp3 Lineas de Campo
 
Proyecto Campos Electricos - Programador Servicios 3d
Proyecto Campos Electricos - Programador Servicios 3dProyecto Campos Electricos - Programador Servicios 3d
Proyecto Campos Electricos - Programador Servicios 3d
 
Aecem - Libro Blanco - Para Programador Php.org
Aecem - Libro Blanco  - Para Programador Php.orgAecem - Libro Blanco  - Para Programador Php.org
Aecem - Libro Blanco - Para Programador Php.org
 
Bpel y Open Esb
Bpel y Open EsbBpel y Open Esb
Bpel y Open Esb
 
¿Cómo elegir servidor web?
¿Cómo elegir servidor web?¿Cómo elegir servidor web?
¿Cómo elegir servidor web?
 
Yahoo! pipes + Wordpress plugin - RSS POWER to your blog
Yahoo! pipes + Wordpress plugin - RSS POWER to your blogYahoo! pipes + Wordpress plugin - RSS POWER to your blog
Yahoo! pipes + Wordpress plugin - RSS POWER to your blog
 
Proyecto de fisica
Proyecto de fisicaProyecto de fisica
Proyecto de fisica
 
Aplicaciones y juegos para móbiles 2011: iOS, Android, Bada, Palm
Aplicaciones y juegos para móbiles 2011: iOS, Android, Bada, PalmAplicaciones y juegos para móbiles 2011: iOS, Android, Bada, Palm
Aplicaciones y juegos para móbiles 2011: iOS, Android, Bada, Palm
 
Infome 2 Lineas Equipotenciales Y Campo Electrico
Infome 2 Lineas Equipotenciales Y Campo ElectricoInfome 2 Lineas Equipotenciales Y Campo Electrico
Infome 2 Lineas Equipotenciales Y Campo Electrico
 

Ähnlich wie Zenphp - Presentación de Septiembre en la Etsiit - Programador PHP

Ez platform-meetup-madrid-march-2018
Ez platform-meetup-madrid-march-2018Ez platform-meetup-madrid-march-2018
Ez platform-meetup-madrid-march-2018crevillo
 
Tarea iii, tecnología
Tarea iii, tecnologíaTarea iii, tecnología
Tarea iii, tecnologíaTania Ceballo
 
F004 p006 gfpi guìa de aprendizaje 3-v2
F004 p006 gfpi guìa de aprendizaje 3-v2F004 p006 gfpi guìa de aprendizaje 3-v2
F004 p006 gfpi guìa de aprendizaje 3-v2Yeison Smith
 
2 f004 p006 gfpi guìa de aprendizaje-3_v2
2 f004 p006 gfpi guìa de aprendizaje-3_v22 f004 p006 gfpi guìa de aprendizaje-3_v2
2 f004 p006 gfpi guìa de aprendizaje-3_v2brayanfp
 
Guia deaprendizaje3 v2
Guia deaprendizaje3 v2Guia deaprendizaje3 v2
Guia deaprendizaje3 v2Aleja Andrade
 
F004 p006 gfpi guìa de aprendizaje 3-v2
F004 p006 gfpi guìa de aprendizaje 3-v2F004 p006 gfpi guìa de aprendizaje 3-v2
F004 p006 gfpi guìa de aprendizaje 3-v2MarceliTha Cardozzo
 
Framework de programacion de paginas web
Framework de programacion de paginas webFramework de programacion de paginas web
Framework de programacion de paginas webGeraldyn De Sousa
 
Proyecto de Aplicación-Implementación de una INTRANET = Colegio Sagrado Coraz...
Proyecto de Aplicación-Implementación de una INTRANET = Colegio Sagrado Coraz...Proyecto de Aplicación-Implementación de una INTRANET = Colegio Sagrado Coraz...
Proyecto de Aplicación-Implementación de una INTRANET = Colegio Sagrado Coraz...Ianpierr Miranda
 
Combinación ganadora: Plone como CMS, tu framework preferido como frontend
Combinación ganadora: Plone como CMS, tu framework preferido como frontendCombinación ganadora: Plone como CMS, tu framework preferido como frontend
Combinación ganadora: Plone como CMS, tu framework preferido como frontendmenttes
 

Ähnlich wie Zenphp - Presentación de Septiembre en la Etsiit - Programador PHP (20)

Taller de zan php
Taller de zan phpTaller de zan php
Taller de zan php
 
Ez platform-meetup-madrid-march-2018
Ez platform-meetup-madrid-march-2018Ez platform-meetup-madrid-march-2018
Ez platform-meetup-madrid-march-2018
 
Tarea iii, tecnología
Tarea iii, tecnologíaTarea iii, tecnología
Tarea iii, tecnología
 
ATIX13
ATIX13ATIX13
ATIX13
 
F004 p006 gfpi guìa de aprendizaje 3-v2
F004 p006 gfpi guìa de aprendizaje 3-v2F004 p006 gfpi guìa de aprendizaje 3-v2
F004 p006 gfpi guìa de aprendizaje 3-v2
 
F004 p006 gfpi guìa de aprendizaje 3-v2
F004 p006 gfpi guìa de aprendizaje 3-v2F004 p006 gfpi guìa de aprendizaje 3-v2
F004 p006 gfpi guìa de aprendizaje 3-v2
 
F004 p006 gfpi guìa de aprendizaje 3-v2
F004 p006 gfpi guìa de aprendizaje 3-v2F004 p006 gfpi guìa de aprendizaje 3-v2
F004 p006 gfpi guìa de aprendizaje 3-v2
 
2 f004 p006 gfpi guìa de aprendizaje-3_v2
2 f004 p006 gfpi guìa de aprendizaje-3_v22 f004 p006 gfpi guìa de aprendizaje-3_v2
2 f004 p006 gfpi guìa de aprendizaje-3_v2
 
Guia deaprendizaje3 v2
Guia deaprendizaje3 v2Guia deaprendizaje3 v2
Guia deaprendizaje3 v2
 
F004 p006 gfpi guìa de aprendizaje 3-v2
F004 p006 gfpi guìa de aprendizaje 3-v2F004 p006 gfpi guìa de aprendizaje 3-v2
F004 p006 gfpi guìa de aprendizaje 3-v2
 
Framework
FrameworkFramework
Framework
 
demoDAAW.ppt
demoDAAW.pptdemoDAAW.ppt
demoDAAW.ppt
 
Drupal Workshop
Drupal WorkshopDrupal Workshop
Drupal Workshop
 
Framework de programacion de paginas web
Framework de programacion de paginas webFramework de programacion de paginas web
Framework de programacion de paginas web
 
Jerarquia estricta
Jerarquia estrictaJerarquia estricta
Jerarquia estricta
 
Proyecto de Aplicación-Implementación de una INTRANET = Colegio Sagrado Coraz...
Proyecto de Aplicación-Implementación de una INTRANET = Colegio Sagrado Coraz...Proyecto de Aplicación-Implementación de una INTRANET = Colegio Sagrado Coraz...
Proyecto de Aplicación-Implementación de una INTRANET = Colegio Sagrado Coraz...
 
Combinación ganadora: Plone como CMS, tu framework preferido como frontend
Combinación ganadora: Plone como CMS, tu framework preferido como frontendCombinación ganadora: Plone como CMS, tu framework preferido como frontend
Combinación ganadora: Plone como CMS, tu framework preferido como frontend
 
S5-DS2.pptx
S5-DS2.pptxS5-DS2.pptx
S5-DS2.pptx
 
Php curso02
Php   curso02Php   curso02
Php curso02
 
Analisis seo
Analisis seoAnalisis seo
Analisis seo
 

Mehr von Juan Belón Pérez

Introducción a PHP - Programador PHP - UGR
Introducción a PHP - Programador PHP - UGRIntroducción a PHP - Programador PHP - UGR
Introducción a PHP - Programador PHP - UGRJuan Belón Pérez
 
Composicion de servicios web, un ejemplo
Composicion de servicios web, un ejemploComposicion de servicios web, un ejemplo
Composicion de servicios web, un ejemploJuan Belón Pérez
 
Memoria Zenphp - Programador PHP
Memoria Zenphp - Programador PHPMemoria Zenphp - Programador PHP
Memoria Zenphp - Programador PHPJuan Belón Pérez
 
Depurando Java Script - Programador PHP
Depurando Java Script - Programador PHPDepurando Java Script - Programador PHP
Depurando Java Script - Programador PHPJuan Belón Pérez
 
Tutorial A Z A - Programador PHP
Tutorial A Z A - Programador PHPTutorial A Z A - Programador PHP
Tutorial A Z A - Programador PHPJuan Belón Pérez
 
Ensayo Cientifico - Programador PHP
Ensayo Cientifico - Programador PHPEnsayo Cientifico - Programador PHP
Ensayo Cientifico - Programador PHPJuan Belón Pérez
 
Zen Scaffolding - Programador PHP
Zen Scaffolding - Programador PHPZen Scaffolding - Programador PHP
Zen Scaffolding - Programador PHPJuan Belón Pérez
 
Rendimiento Java Script - Programador PHP
Rendimiento  Java Script - Programador PHPRendimiento  Java Script - Programador PHP
Rendimiento Java Script - Programador PHPJuan Belón Pérez
 
Bibliografia Y Menciones - Programador PHP
Bibliografia Y Menciones - Programador PHPBibliografia Y Menciones - Programador PHP
Bibliografia Y Menciones - Programador PHPJuan Belón Pérez
 
Tutorial MVC - Zenphp - Programador PHP
Tutorial MVC - Zenphp - Programador PHPTutorial MVC - Zenphp - Programador PHP
Tutorial MVC - Zenphp - Programador PHPJuan Belón Pérez
 
Aceleradores PHP Final - Programador PHP
Aceleradores PHP Final - Programador PHPAceleradores PHP Final - Programador PHP
Aceleradores PHP Final - Programador PHPJuan Belón Pérez
 
Introducción A La Orientación A Aspectos - Programador PHP
Introducción A La Orientación A Aspectos - Programador PHPIntroducción A La Orientación A Aspectos - Programador PHP
Introducción A La Orientación A Aspectos - Programador PHPJuan Belón Pérez
 
Aceleradores Php Final - Programador PHP
Aceleradores Php Final - Programador PHPAceleradores Php Final - Programador PHP
Aceleradores Php Final - Programador PHPJuan Belón Pérez
 
Bibliografia Y Menciones zenphp - Programador PHP
Bibliografia Y Menciones zenphp  - Programador PHPBibliografia Y Menciones zenphp  - Programador PHP
Bibliografia Y Menciones zenphp - Programador PHPJuan Belón Pérez
 

Mehr von Juan Belón Pérez (20)

Introducción a PHP - Programador PHP - UGR
Introducción a PHP - Programador PHP - UGRIntroducción a PHP - Programador PHP - UGR
Introducción a PHP - Programador PHP - UGR
 
Composicion de servicios web, un ejemplo
Composicion de servicios web, un ejemploComposicion de servicios web, un ejemplo
Composicion de servicios web, un ejemplo
 
Presentación: xUnit y Junit
Presentación: xUnit y JunitPresentación: xUnit y Junit
Presentación: xUnit y Junit
 
Cómo elegir un servidor Web
Cómo elegir un servidor WebCómo elegir un servidor Web
Cómo elegir un servidor Web
 
Memoria Zenphp - Programador PHP
Memoria Zenphp - Programador PHPMemoria Zenphp - Programador PHP
Memoria Zenphp - Programador PHP
 
Depurando Java Script - Programador PHP
Depurando Java Script - Programador PHPDepurando Java Script - Programador PHP
Depurando Java Script - Programador PHP
 
Zenphp - Programador PHP
Zenphp - Programador PHPZenphp - Programador PHP
Zenphp - Programador PHP
 
Tutorial A Z A - Programador PHP
Tutorial A Z A - Programador PHPTutorial A Z A - Programador PHP
Tutorial A Z A - Programador PHP
 
Ensayo Cientifico - Programador PHP
Ensayo Cientifico - Programador PHPEnsayo Cientifico - Programador PHP
Ensayo Cientifico - Programador PHP
 
Zen AJAX - Programador PHP
Zen AJAX - Programador PHPZen AJAX - Programador PHP
Zen AJAX - Programador PHP
 
Zen Scaffolding - Programador PHP
Zen Scaffolding - Programador PHPZen Scaffolding - Programador PHP
Zen Scaffolding - Programador PHP
 
Rendimiento Java Script - Programador PHP
Rendimiento  Java Script - Programador PHPRendimiento  Java Script - Programador PHP
Rendimiento Java Script - Programador PHP
 
Bibliografia Y Menciones - Programador PHP
Bibliografia Y Menciones - Programador PHPBibliografia Y Menciones - Programador PHP
Bibliografia Y Menciones - Programador PHP
 
Tutorial MVC - Zenphp - Programador PHP
Tutorial MVC - Zenphp - Programador PHPTutorial MVC - Zenphp - Programador PHP
Tutorial MVC - Zenphp - Programador PHP
 
M V C - Programador PHP
M V C - Programador PHPM V C - Programador PHP
M V C - Programador PHP
 
Aceleradores PHP Final - Programador PHP
Aceleradores PHP Final - Programador PHPAceleradores PHP Final - Programador PHP
Aceleradores PHP Final - Programador PHP
 
Introducción A La Orientación A Aspectos - Programador PHP
Introducción A La Orientación A Aspectos - Programador PHPIntroducción A La Orientación A Aspectos - Programador PHP
Introducción A La Orientación A Aspectos - Programador PHP
 
Splat - Programador PHP
Splat - Programador PHPSplat - Programador PHP
Splat - Programador PHP
 
Aceleradores Php Final - Programador PHP
Aceleradores Php Final - Programador PHPAceleradores Php Final - Programador PHP
Aceleradores Php Final - Programador PHP
 
Bibliografia Y Menciones zenphp - Programador PHP
Bibliografia Y Menciones zenphp  - Programador PHPBibliografia Y Menciones zenphp  - Programador PHP
Bibliografia Y Menciones zenphp - Programador PHP
 

Kürzlich hochgeladen

Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxRogerPrieto3
 

Kürzlich hochgeladen (15)

Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptx
 

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

  • 1. zenphp Framework (introducción) Juan Belón
  • 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
  • 13. Intro. - ¿Cómo funciona? 13 de 29
  • 14. Intro. - ¿Cómo funciona?
  • 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 }
  • 25. Ejemplos: vistas class 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 }
  • 26. Casos reales (I) 26 de 29
  • 27. Casos reales (II) 27 de 29
  • 28. El modelo de caja
  • 29. Esto ha sido todo... ¡¡PRACTICAR MUCHO!!