SlideShare a Scribd company logo
1 of 29
Download to read offline
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!!

More Related Content

What's hot

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
 

What's hot (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
 

Viewers also liked

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
 

Viewers also liked (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 to 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 to 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
 

More from 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
 

More from 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
 

Recently uploaded

Trabajo de tecnología primer periodo 2024
Trabajo de tecnología primer periodo 2024Trabajo de tecnología primer periodo 2024
Trabajo de tecnología primer periodo 2024anasofiarodriguezcru
 
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaYeimys Ch
 
TENDENCIAS DE IA Inteligencia artificial generativa.pdf
TENDENCIAS DE IA Inteligencia artificial generativa.pdfTENDENCIAS DE IA Inteligencia artificial generativa.pdf
TENDENCIAS DE IA Inteligencia artificial generativa.pdfJoseAlejandroPerezBa
 
Nomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de NóminaNomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de Nóminacuellosameidy
 
Clasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxClasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxCarolina Bujaico
 
BLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS..docx
BLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS..docxBLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS..docx
BLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS..docxhellendiaz12
 
Trabajo de Tecnología .pdfywhwhejsjsjsjsjsk
Trabajo de Tecnología .pdfywhwhejsjsjsjsjskTrabajo de Tecnología .pdfywhwhejsjsjsjsjsk
Trabajo de Tecnología .pdfywhwhejsjsjsjsjskbydaniela5
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptxHugoGutierrez99
 
tecno 2024.pdf sara mineiro palacio 10-6
tecno 2024.pdf sara mineiro palacio 10-6tecno 2024.pdf sara mineiro palacio 10-6
tecno 2024.pdf sara mineiro palacio 10-6SaraMineiropalacio
 
TECNOLOGIA 11-4.8888888888888888888888888
TECNOLOGIA 11-4.8888888888888888888888888TECNOLOGIA 11-4.8888888888888888888888888
TECNOLOGIA 11-4.8888888888888888888888888ElianaValencia28
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024u20211198540
 
Trabajo de tecnología liceo departamental
Trabajo de tecnología liceo departamentalTrabajo de tecnología liceo departamental
Trabajo de tecnología liceo departamentalEmanuelCastro64
 
tecnologiaactividad11-240323205859-a9b9b9bc.pdf
tecnologiaactividad11-240323205859-a9b9b9bc.pdftecnologiaactividad11-240323205859-a9b9b9bc.pdf
tecnologiaactividad11-240323205859-a9b9b9bc.pdflauralizcano0319
 
Tecnología Educativa- presentación maestría
Tecnología Educativa- presentación maestríaTecnología Educativa- presentación maestría
Tecnología Educativa- presentación maestríaElizabethLpezSoto
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfcristianrb0324
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointValerioIvanDePazLoja
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdfBetianaJuarez1
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)JuanStevenTrujilloCh
 

Recently uploaded (18)

Trabajo de tecnología primer periodo 2024
Trabajo de tecnología primer periodo 2024Trabajo de tecnología primer periodo 2024
Trabajo de tecnología primer periodo 2024
 
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
 
TENDENCIAS DE IA Inteligencia artificial generativa.pdf
TENDENCIAS DE IA Inteligencia artificial generativa.pdfTENDENCIAS DE IA Inteligencia artificial generativa.pdf
TENDENCIAS DE IA Inteligencia artificial generativa.pdf
 
Nomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de NóminaNomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de Nómina
 
Clasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxClasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptx
 
BLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS..docx
BLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS..docxBLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS..docx
BLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS..docx
 
Trabajo de Tecnología .pdfywhwhejsjsjsjsjsk
Trabajo de Tecnología .pdfywhwhejsjsjsjsjskTrabajo de Tecnología .pdfywhwhejsjsjsjsjsk
Trabajo de Tecnología .pdfywhwhejsjsjsjsjsk
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
 
tecno 2024.pdf sara mineiro palacio 10-6
tecno 2024.pdf sara mineiro palacio 10-6tecno 2024.pdf sara mineiro palacio 10-6
tecno 2024.pdf sara mineiro palacio 10-6
 
TECNOLOGIA 11-4.8888888888888888888888888
TECNOLOGIA 11-4.8888888888888888888888888TECNOLOGIA 11-4.8888888888888888888888888
TECNOLOGIA 11-4.8888888888888888888888888
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
 
Trabajo de tecnología liceo departamental
Trabajo de tecnología liceo departamentalTrabajo de tecnología liceo departamental
Trabajo de tecnología liceo departamental
 
tecnologiaactividad11-240323205859-a9b9b9bc.pdf
tecnologiaactividad11-240323205859-a9b9b9bc.pdftecnologiaactividad11-240323205859-a9b9b9bc.pdf
tecnologiaactividad11-240323205859-a9b9b9bc.pdf
 
Tecnología Educativa- presentación maestría
Tecnología Educativa- presentación maestríaTecnología Educativa- presentación maestría
Tecnología Educativa- presentación maestría
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdf
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power Point
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)
 

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