SlideShare una empresa de Scribd logo
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 Avanzado
SergioIglesiasNET
 
Desarrollar un módulo para joomla
Desarrollar un módulo para joomlaDesarrollar un módulo para joomla
Desarrollar un módulo para joomla
ivanGorL
 
Manualcake
ManualcakeManualcake
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
 
Estructura de plantillas joomla
Estructura de plantillas joomlaEstructura de plantillas joomla
Estructura de plantillas joomla
Rocio Vicente Navas
 
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
Carlos 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
 
CMS - Joomla
CMS - JoomlaCMS - Joomla
CMS - Joomla
UNIVERSIDAD ISRAEL
 

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 3d
Juan 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.org
Juan Belón Pérez
 
Bpel y Open Esb
Bpel y Open EsbBpel y Open Esb
Bpel y Open Esb
Juan Belón Pérez
 
¿Cómo elegir servidor web?
¿Cómo elegir servidor web?¿Cómo elegir servidor web?
¿Cómo elegir servidor web?
Juan 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 blog
Juan 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, Palm
Juan 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

Taller de zan php
Taller de zan phpTaller de zan php
Taller de zan php
programadoresmx
 
Ez platform-meetup-madrid-march-2018
Ez platform-meetup-madrid-march-2018Ez platform-meetup-madrid-march-2018
Ez platform-meetup-madrid-march-2018
crevillo
 
Tarea iii, tecnología
Tarea iii, tecnologíaTarea iii, tecnología
Tarea iii, tecnología
Tania Ceballo
 
ATIX13
ATIX13ATIX13
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
 
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
 
demoDAAW.ppt
demoDAAW.pptdemoDAAW.ppt
demoDAAW.ppt
ssuser73f459
 
Drupal Workshop
Drupal WorkshopDrupal Workshop
Drupal Workshop
Jose Sanchez Tejeda
 
Framework de programacion de paginas web
Framework de programacion de paginas webFramework de programacion de paginas web
Framework de programacion de paginas web
Geraldyn De Sousa
 
Jerarquia estricta
Jerarquia estrictaJerarquia estricta
Jerarquia estricta
marcovillalobos80
 
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 frontend
menttes
 
S5-DS2.pptx
S5-DS2.pptxS5-DS2.pptx
Php curso02
Php   curso02Php   curso02
Php curso02
viruscraquer
 
Analisis seo
Analisis seoAnalisis seo
Analisis seo
Maribel Mercado
 

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
 
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
 
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
 
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 - UGR
Juan 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 ejemplo
Juan Belón Pérez
 
Presentación: xUnit y Junit
Presentación: xUnit y JunitPresentación: xUnit y Junit
Presentación: xUnit y Junit
Juan Belón Pérez
 
Cómo elegir un servidor Web
Cómo elegir un servidor WebCómo elegir un servidor Web
Cómo elegir un servidor Web
Juan Belón Pérez
 
Memoria Zenphp - Programador PHP
Memoria Zenphp - Programador PHPMemoria Zenphp - Programador PHP
Memoria Zenphp - Programador PHP
Juan Belón Pérez
 
Depurando Java Script - Programador PHP
Depurando Java Script - Programador PHPDepurando Java Script - Programador PHP
Depurando Java Script - Programador PHP
Juan Belón Pérez
 
Zenphp - Programador PHP
Zenphp - Programador PHPZenphp - Programador PHP
Zenphp - Programador PHP
Juan 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 PHP
Juan Belón Pérez
 
Ensayo Cientifico - Programador PHP
Ensayo Cientifico - Programador PHPEnsayo Cientifico - Programador PHP
Ensayo Cientifico - Programador PHP
Juan Belón Pérez
 
Zen AJAX - Programador PHP
Zen AJAX - Programador PHPZen AJAX - Programador PHP
Zen AJAX - Programador PHP
Juan Belón Pérez
 
Zen Scaffolding - Programador PHP
Zen Scaffolding - Programador PHPZen Scaffolding - Programador PHP
Zen Scaffolding - Programador PHP
Juan Belón Pérez
 
Rendimiento Java Script - Programador PHP
Rendimiento  Java Script - Programador PHPRendimiento  Java Script - Programador PHP
Rendimiento Java Script - Programador PHP
Juan Belón Pérez
 
Bibliografia Y Menciones - Programador PHP
Bibliografia Y Menciones - Programador PHPBibliografia Y Menciones - Programador PHP
Bibliografia Y Menciones - Programador PHP
Juan Belón Pérez
 
Tutorial MVC - Zenphp - Programador PHP
Tutorial MVC - Zenphp - Programador PHPTutorial MVC - Zenphp - Programador PHP
Tutorial MVC - Zenphp - Programador PHP
Juan Belón Pérez
 
M V C - Programador PHP
M V C - Programador PHPM V C - Programador PHP
M V C - Programador PHP
Juan Belón Pérez
 
Aceleradores PHP Final - Programador PHP
Aceleradores PHP Final - Programador PHPAceleradores PHP Final - Programador PHP
Aceleradores PHP Final - Programador PHP
Juan 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 PHP
Juan Belón Pérez
 
Splat - Programador PHP
Splat - Programador PHPSplat - Programador PHP
Splat - Programador PHP
Juan Belón Pérez
 
Aceleradores Php Final - Programador PHP
Aceleradores Php Final - Programador PHPAceleradores Php Final - Programador PHP
Aceleradores Php Final - Programador PHP
Juan 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 PHP
Juan 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

Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
ItsSofi
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
ManuelCampos464987
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
Emilio Casbas
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
SamuelRamirez83524
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
vazquezgarciajesusma
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
cristianrb0324
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
cofferub
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
vazquezgarciajesusma
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
cj3806354
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
ValeriaAyala48
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
zoecaicedosalazar
 
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
sarasofiamontezuma
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
DiegoCampos433849
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
rafaelsalazar0615
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
AlejandraCasallas7
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
cdraco
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
CrystalRomero18
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
marianabz2403
 
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
espinozaernesto427
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Telefónica
 

Último (20)

Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
 
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
 

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!!