SlideShare una empresa de Scribd logo
1 de 29
Descargar para leer sin conexión
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!!

Más contenido relacionado

La actualidad más candente

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
 

La actualidad más candente (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
 

Destacado

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
 

Destacado (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
 

Similar a 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
 
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
 
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
 
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
 

Similar a 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
 
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
 
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
 

Más de 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
 

Más de 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
 

Último

FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..RobertoGumucio2
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 

Último (20)

FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.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!!