Diferencia entre revisiones de «Usuario:ManuelRomero/php/smarty/introduccion»

De WikiEducator
Saltar a: navegación, buscar
(Smarty como gestor de plantillas)
(Instalando Smarty)
Línea 38: Línea 38:
  
 
==Instalando Smarty==
 
==Instalando Smarty==
 +
*Nos descargamos los ficheros de la web
 +
http://www.smarty.net/download
 +
*Lo copiamos en nuestra máquina
 +
*De estos ficheros, para funcionar lo que necesitamos es lo que está en el directorio libs
 +
*Lo copiamos en /usr/shared/smarty (previamente creamos la carpeta).
 +
*Modificamos el fichero php.ini añadiendo esta ruta
 +
<source lang=bash>7
 +
include_path=".:/usr/shared/php:/usr/shared/pear:/usr/shared/smarty"
 +
</source>
 +
*Con esto ya tenemos la aplicación motor de plantillas lista para usarese
 +
*Ahora vamos a ver como utilizarla
 +
*Para cada aplicación crearemos una estructura de directorios, fuera de los ficheros que entregamos a los clientes
 +
*Por ejemplo creamos en raiz '''''/web/smarty/dir_por_aplicacion'''''
 +
*En cada directorio hay que crear una estructura con cuatro carpetas
 +
#template
 +
#template_c
 +
#configs
 +
#cache
  
 
==Usando smarty==
 
==Usando smarty==
 
===Smarty en la lógica del negocio==
 
===Smarty en la lógica del negocio==
 
==smarty en las plantillas==
 
==smarty en las plantillas==

Revisión de 10:38 22 dic 2014

Qué es un MVC

  • En los desarrollos que hemos visto, hemos experimentado cómo la programación web tiene una parte de presentación y una de porgramación
  • La parte de presentación o pantalla que el cliente ve es un equipo depende en gran medida de la parte de la lógica de la programación
  • Por ejemplo en la tienda, la presentación se va actualizando según el cliente vaya seleccionando productos para comprar.
  • Es decir existe una separación muy lógica entre ambos conceptos, pero una dependencia funcional intrínseca.
  • Entre las técnicas más usadas para separar la lógica de presentación, de la lógica de negocio Es el MVC

MVC.JPG

  • Aquí un interesante artículo para profundizar más en el concepto
http://desarrolladorsenior.blogspot.com.es/2010/10/patron-mvc-modelo-vista-controlador-en.html
  • En este módelo vemos 3 partes diferenciadas
  1. La vista:Es la pantalla web que el cliente va a ver. En función de determinado código querremos ver unas cosas u otras, por ejemplo según el usuario haya realizado una determinada acciónmodelo.
  2. El controlador: Es la parte del la lógica de negocio que recoge las acciones que el usuario ha seleccionado y decide qué hay que hacer, y se lo indica al modelo. . Por otro lado recoge la información que genere el modelo y genera las instrucciones necesarias para que la vista se actualice en consecuencia.
  3. El modelo: Maneja los datos propios de la aplicación y se independiza totalmente de la vista. En caso de que la aplicación use datos de una base de datos, es esta la parte que se encargará de su gestión.

Qué es un gestor de plantillas

  • El gestor de plantillas o mejor llamado motor de plantillas es una versión más simplificada de separar la lógica de presentación de la lógica de negocio.
  • El motor de plantillas es una aplicación que genera una página web a partir de dos fuentes:
  1. Un fichero con la información de presentación o plantilla que sería como la vista
  2. otro fichero con la lógica interne de la aplicación que sería el modelo
  • En este caso no existiría controlador lo que simplificaría el escenario.
  • Busca separar el trabajo del diseño o generador de plantillas, con el trabajo del programador de la aplicación, aunque lógicamente tienen puntos de unión.
  • Entre los gestores de plantillas más pontentes y usados podemos encontrar smarty y twig
  • Smarty http://www.smarty.net/download
  • Twig http://twig.sensiolabs.org/
  • Por la pontencia y sencillez de uso vamos a estudiar smarty.

Smarty como gestor de plantillas

  • Es un código abierto basado en la licencia LGPL
  • En la documentación en castellano podemos encontrar una explicación completa de esta aplicación
  • Nosotros no vamos a profundizar en su estudio, simplemente vamos a aprender a manejarla
  • El propósito de ver smarty es doble
  1. aprender a usar la herramientas
  2. aprender a programar separando la lógica de la presentación
  • Profundizaremos más este segundo aspecto al estudiar Laravel
  • entre otras carácterísticas podemos comentar
  1. Permite la inclusión en las plantillas de una lógica de presentación compleja.
  2. Acelera la generación de la página web resultante. Uno de los problemas de los motores de plantillas es que su utilización influye negativamente en el rendimiento. Smarty convierte internamente las plantillas a guiones PHP equivalentes, y posibilita el almacenamiento del resultado obtenido en memoria temporal.
  3. Al ser usado por una amplia comunidad de desarrolladores, existen multitud de ejemplos y foros para la resolución de los problemas que te vayas encontrando al utilizarlo.

Instalando Smarty

  • Nos descargamos los ficheros de la web
http://www.smarty.net/download
  • Lo copiamos en nuestra máquina
  • De estos ficheros, para funcionar lo que necesitamos es lo que está en el directorio libs
  • Lo copiamos en /usr/shared/smarty (previamente creamos la carpeta).
  • Modificamos el fichero php.ini añadiendo esta ruta
7
include_path=".:/usr/shared/php:/usr/shared/pear:/usr/shared/smarty"
  • Con esto ya tenemos la aplicación motor de plantillas lista para usarese
  • Ahora vamos a ver como utilizarla
  • Para cada aplicación crearemos una estructura de directorios, fuera de los ficheros que entregamos a los clientes
  • Por ejemplo creamos en raiz /web/smarty/dir_por_aplicacion
  • En cada directorio hay que crear una estructura con cuatro carpetas
  1. template
  2. template_c
  3. configs
  4. cache

Usando smarty

=Smarty en la lógica del negocio

smarty en las plantillas