SlideShare uma empresa Scribd logo
1 de 38
Baixar para ler offline
Symfony

                                               David J.
                                               Brenes
                                               Martínez

Desarrollo rápido con PHP y Symfony         Layouts

             (III) La Vista                 Configuración

                                            Helpers

                                            Parámetros

                                            Reutilización
        David J. Brenes Martínez            Partials
                                            Components


                                            Referencias,
         Curso de Extensión Universitaria   Créditos y
            Desarrollo web avanzado         Licencia
             Universidad de Oviedo


                 2010/03/22
Sin un sistema de plantillas

                                                                Symfony

                                                                David J.
                                                                Brenes
                                                                Martínez

                                                             Layouts

                                                             Configuración
    Dentro del PHP concreto de la vista se usaban includes
                                                             Helpers
    Los elementos comunes se definían en ficheros              Parámetros
    exernos                                                  Reutilización
                                                             Partials
    La inclusión de los elementos se hace en la vista        Components


    concreta                                                 Referencias,
                                                             Créditos y
                                                             Licencia
Estructura de una vista old school

                                                      Symfony

                                                      David J.
                                                      Brenes
                                                      Martínez

                                                   Layouts
 include ( " header . php " ) ;                    Configuración

                                                   Helpers
 / / Todo e l c o n t e n i d o de l a v i s t a   Parámetros
 // ...                                            Reutilización
                                                   Partials
                                                   Components

 include ( " s i d e b a r . php " )               Referencias,
                                                   Créditos y
                                                   Licencia

 include ( " f o o t e r . php " )
Con un sistema de plantillas

                                                               Symfony

                                                               David J.
                                                               Brenes
                                                               Martínez

                                                            Layouts

                                                            Configuración
    En el PHP concreto de la vista no se incluyen           Helpers
    elementos globales                                      Parámetros

    La vista concreta no sabe nada de dónde está incluida   Reutilización
                                                            Partials

    Es la plantlla la que incluye a la vista                Components


                                                            Referencias,
                                                            Créditos y
                                                            Licencia
Vista de una acción

                                                              Symfony

                                                              David J.
                                                              Brenes
                                                              Martínez


    Es la vista que el controlador decide que se muestre   Layouts

                                                           Configuración
    Fichero PHP simple
                                                           Helpers
    Hace uso de los parámetros almacenados por el          Parámetros

    controlador                                            Reutilización
                                                           Partials

    Sólo debe preocuparse de la vista (sin lógica de       Components


                                                           Referencias,
    negocio)                                               Créditos y
                                                           Licencia
    Se situan en la carpeta templates del módulo
Layout

                                                               Symfony

                                                               David J.
                                                               Brenes
                                                               Martínez

   Define los elementos comunes: Menús, cabecera,            Layouts
   pie. . .                                                 Configuración

   No recibe parámetros del controlador                     Helpers

                                                            Parámetros
   Hace uso de datos de la respuesta (javascripts, título
                                                            Reutilización
   de la página, etiquetas meta. . . )                      Partials
                                                            Components

   Sólo debe preocuparse de la vista (sin lógica de         Referencias,
                                                            Créditos y
   negocio)                                                 Licencia

   Se situan en la carpeta templates de la aplicación
Layout de ejemplo

                                                                Symfony

                                                                David J.
                                                                Brenes
                                                                Martínez

<html >                                                      Layouts
   <head>                                                    Configuración
      <?php   include_metas ( ) ?>                           Helpers

      <?php   i n c l u d e _ t i t l e ( ) ?>               Parámetros

      <?php   i n c l u d e _ s t y l e s h e e t s ( ) ?>   Reutilización
                                                             Partials
   </ head>                                                  Components


   <body>                                                    Referencias,
                                                             Créditos y
      <?php   echo $ s f _ c o n t e n t ?>                  Licencia

   </ body>
</ html >
Slots

                                                                  Symfony

                                                                  David J.
                                                                  Brenes
                                                                  Martínez

                                                               Layouts

                                                               Configuración
En ocasiones la vista debe introducir elementos en el layout   Helpers

                                                               Parámetros
    Submenús
                                                               Reutilización
    Sidebar contextuales                                       Partials
                                                               Components


                                                               Referencias,
                                                               Créditos y
                                                               Licencia
Slots

                                                                   Symfony

                                                                   David J.
                                                                   Brenes
                                                                   Martínez

                                                                Layouts

                                                                Configuración
    Zonas del layout donde podemos introducir contenido         Helpers

    Se declaran en el layout                                    Parámetros

                                                                Reutilización
    En la vista se indica que parte el contenido va a parar a   Partials
                                                                Components
    un slot
                                                                Referencias,
                                                                Créditos y
                                                                Licencia
Ejemplo de slots

                                                                        Symfony

                                                                        David J.
                                                                        Brenes
                                                                        Martínez

                                                                     Layouts

                                                                     Configuración

<?php i f ( ! i n c l u d e _ s l o t ( ’ s i d e b a r ’ ) ) : ?>   Helpers

  <!−− código por d e f e c t o −−>                                  Parámetros

<?php e n d i f ; ?>                                                 Reutilización
                                                                     Partials
                                                                     Components


                                                                     Referencias,
                                                                     Créditos y
                              En el layout                           Licencia
Ejemplo de slots

                                                                  Symfony

                                                                  David J.
                                                                  Brenes
                                                                  Martínez

                                                               Layouts

                                                               Configuración

<?php s l o t ( ’ s i d e b a r ’ ) ?>                         Helpers

  <!−− Código d e l s i d e b a r para e s t a v i s t a −−>   Parámetros

<?php e n d _ s l o t ( ) ?>                                   Reutilización
                                                               Partials
                                                               Components


                                                               Referencias,
                                                               Créditos y
                        En la vista                            Licencia
View.yml

                                                             Symfony

                                                             David J.
                                                             Brenes
                                                             Martínez

                                                          Layouts
   Fichero de configuración de las vistas
                                                          Configuración
   En la configuración de la aplicación define aspectos     Helpers
   comunes a toda la aplicación                           Parámetros

   En la configuración del módulo nos define aspectos del   Reutilización
                                                          Partials

   módulo o de una vista                                  Components


                                                          Referencias,
   La configuración del módulo o vista puede               Créditos y
                                                          Licencia
   sobreescribir los niveles anteriores
View.yml

                                                      Symfony

                                                      David J.
                                                      Brenes
                                                      Martínez

Configuramos:                                       Layouts

                                                   Configuración
   El layout que debe tener una vista
                                                   Helpers
   Las hojas de estilo                             Parámetros

   Los javascripts a incluir                       Reutilización
                                                   Partials

   Metas y HTTP Metas, aunque está desaconsejado   Components


                                                   Referencias,
                                                   Créditos y
Referencia: http://www.symfony-project.org/        Licencia
reference/1_4/en/13-View
Configuración en tiempo de ejecución

                                                               Symfony

                                                               David J.
                                                               Brenes
                                                               Martínez

                                                            Layouts
    Puede interesar cambiar el título de la web en tiempo   Configuración
    de ejecución                                            Helpers

    Se dispone de un objeto Response desde el que           Parámetros

    modificar la respuesta                                   Reutilización
                                                            Partials
                                                            Components
    En el controlador $this->getResponse()
                                                            Referencias,
    Desde la vista $sf_response                             Créditos y
                                                            Licencia
Funciones complejas

                                                           Symfony

                                                           David J.
                                                           Brenes
                                                           Martínez

                                                        Layouts

   En ocasiones las vistas tienen comportamientos       Configuración

   complejos                                            Helpers

                                                        Parámetros
   Esos comportamientos se repiten en otras vistas      Reutilización
   Las vistas crecen y se hacen menos legibles          Partials
                                                        Components


   Necesidad de declarar ese código fuera de la vista   Referencias,
                                                        Créditos y
                                                        Licencia
Helpers

                                                            Symfony

                                                            David J.
                                                            Brenes
                                                            Martínez

                                                         Layouts

                                                         Configuración

   Ficheros con funciones (no necesariamente clases)     Helpers

                                                         Parámetros
   Se declara su uso y las funciones estan disponibles
                                                         Reutilización
   Normalmente son funciones muy abstractas              Partials
                                                         Components


                                                         Referencias,
                                                         Créditos y
                                                         Licencia
Declaración de Helpers

                                                             Symfony

                                                             David J.
                                                             Brenes
                                                             Martínez

                                                          Layouts
    En la vista: funcion use_helper
                                                          Configuración
    En el controlador o el modelo:                        Helpers
    sfApplicationConfiguration::getActive()->loadHelpers   Parámetros

    En la configuración (settings.yml), añadiendolo a      Reutilización
                                                          Partials
    standard_helpers                                      Components


                                                          Referencias,
    Si los helpers se cargan siempre, incluirlo en la     Créditos y
                                                          Licencia
    configuración
Creación de Helpers

                                                         Symfony

                                                         David J.
                                                         Brenes
                                                         Martínez

                                                      Layouts

   Las funciones van en un fichero                     Configuración

                                                      Helpers
   nombre_del_helper+Helper.php
                                                      Parámetros
   El fichero debe situarse en lib/helpers             Reutilización
                                                      Partials
   Al declarar su uso debe hacerse referencia a       Components


   nombre_del_helper, no a nombre_del_helper+Helper   Referencias,
                                                      Créditos y
                                                      Licencia
Ejemplo de Helper

                                                      Symfony

                                                      David J.
                                                      Brenes
                                                      Martínez

                                                   Layouts

                                                   Configuración
 f u n c t i o n f o r m a t ( $param )
                                                   Helpers
 {                                                 Parámetros
 // ...                                            Reutilización
 }                                                 Partials
                                                   Components


                                                   Referencias,
                                                   Créditos y
                                                   Licencia
                   /lib/helpers/CustomHelper.php
Ejemplo de Helper

                                           Symfony

                                           David J.
                                           Brenes
                                           Martínez

                                        Layouts

                                        Configuración

use_helper ( array ( " Custom " ) ) ;   Helpers

                                        Parámetros

echo f o r m a t ( $param ) ;           Reutilización
                                        Partials
                                        Components


                                        Referencias,
                                        Créditos y
                          En la Vista   Licencia
Del controlador

                                                              Symfony

                                                              David J.
                                                              Brenes
                                                              Martínez

                                                           Layouts
    Lo ideal sería que todos los parámetros vinieran del   Configuración
    controlador                                            Helpers

    Son variables PHP con el mismo nombre que les diera    Parámetros

                                                           Reutilización
    el controlador                                         Partials
                                                           Components
    NO son variables de objeto (no deben accederse con     Referencias,
    $this->)                                               Créditos y
                                                           Licencia
Acceso a la request

                                                           Symfony

                                                           David J.
                                                           Brenes
                                                           Martínez

                                                        Layouts

                                                        Configuración

                                                        Helpers
    Se tiene el objeto $sf_request
                                                        Parámetros
    Es el mismo objeto que el $this->getRequest() del   Reutilización
    controlador                                         Partials
                                                        Components


                                                        Referencias,
                                                        Créditos y
                                                        Licencia
Acceso a la sesión

                                                        Symfony

                                                        David J.
                                                        Brenes
                                                        Martínez

                                                     Layouts

                                                     Configuración

                                                     Helpers
    Se tiene el objeto $sf_user
                                                     Parámetros
    Es el mismo objeto que el $this->getUser() del   Reutilización
    controlador                                      Partials
                                                     Components


                                                     Referencias,
                                                     Créditos y
                                                     Licencia
Cuando el layout no es suficiente

                                                              Symfony

                                                              David J.
                                                              Brenes
                                                              Martínez

                                                           Layouts

                                                           Configuración

                                                           Helpers
 El layout define los elementos comunes: Menús, cabecera,   Parámetros
                           pie. . .                        Reutilización
                                                           Partials
                         ¿Seguro?                          Components


                                                           Referencias,
                                                           Créditos y
                                                           Licencia
Cuando el layout no es suficiente

                                                                Symfony

                                                                David J.
                                                                Brenes
                                                                Martínez

                                                             Layouts

    Las layouts crecen si hay muchos elementos comunes       Configuración

                                                             Helpers
    (menú, migas de pan, sidebars, banners, footers. . . )
                                                             Parámetros
    Puede haber elementos comunes a las layouts              Reutilización
                                                             Partials
    Puede haber elementos complejos que ensucien             Components


    nuestro layout                                           Referencias,
                                                             Créditos y
                                                             Licencia
Reutilización de vistas

                                 Symfony

                                 David J.
                                 Brenes
                                 Martínez

                              Layouts

                              Configuración
Elementos de reutilización:   Helpers

                              Parámetros
    Partials
                              Reutilización
    Components                Partials
                              Components


                              Referencias,
                              Créditos y
                              Licencia
Partials

                                                               Symfony

                                                               David J.
                                                               Brenes
                                                               Martínez

                                                            Layouts
    Vistas reutilizables en otras vistas                    Configuración

    Tienen acceso a helpers, la request, el usuario, etc.   Helpers

                                                            Parámetros
    No tienen acceso a las variables comunicadas por el
                                                            Reutilización
    controlador                                             Partials
                                                            Components
    Pueden recibir parametros de la vista                   Referencias,
                                                            Créditos y
    Pueden incluir otros partials y components              Licencia
Ejemplo de Partial

                                                                                   Symfony

                                                                                   David J.
 i n c l u d e _ p a r t i a l ( " nombre_partial " ) ;                            Brenes
                                                                                   Martínez
 i n c l u d e _ p a r t i a l ( " modulo / n o m b r e _ p a r t i a l " ) ;
                                                                                Layouts
 i n c l u d e _ p a r t i a l ( " global / nombre_partial " ) ;
                                                                                Configuración

                                                                                Helpers
echo g e t _ p a r t i a l ( " n o m b r e _ p a r t i a l " ) ;
                                                                                Parámetros

                                                                                Reutilización
 i n c l u d e _ p a r t i a l ( " nombre_partial " ,                           Partials
                                                                                Components

 array (                                                                        Referencias,
 " param1 " =>  $valor_param_1 ,                                               Créditos y
                                                                                Licencia
 " param2 " =>  $valor_param_2
 )
 );


                                  En la Vista
Ejemplo de Partial

                                                                  Symfony

                                                                  David J.
                                                                  Brenes
                                                                  Martínez

                                                               Layouts

echo $param1 ;                                                 Configuración

                                                               Helpers

                                                               Parámetros
echo $param2 ;
                                                               Reutilización
                                                               Partials

 i n c l u d e _ p a r t i a l ( " nombre_otro_partial " ) ;   Components


                                                               Referencias,
                                                               Créditos y
                                                               Licencia

               En el partial _nombre_partial.php
Cuando los partials no sirven

                                                             Symfony

                                                             David J.
                                                             Brenes
                                                             Martínez

                                                          Layouts

                                                          Configuración

                                                          Helpers

   En nuestra sidebar hay una zona de últimas noticias.   Parámetros

                                                          Reutilización
               ¿Cómo lo implementamos?                    Partials
                                                          Components


                                                          Referencias,
                                                          Créditos y
                                                          Licencia
Cuando los partials no sirven

                                                         Symfony

                                                         David J.
                                                         Brenes
                                                         Martínez

                                                      Layouts

                                                      Configuración

                                                      Helpers
    ¿Obteniendo las últimas noticias en un partial?
                                                      Parámetros
    ¿Obteniendo las últimas noticias en todos los     Reutilización
    controladores?                                    Partials
                                                      Components


                                                      Referencias,
                                                      Créditos y
                                                      Licencia
Components

                                                              Symfony

                                                              David J.
                                                              Brenes
                                                              Martínez

                                                           Layouts

   En ocasiones interesa reutilizar controladores          Configuración

                                                           Helpers
   Noticias más leidas, recomendaciones al usuario, etc.
                                                           Parámetros
   En otras plataformas se encadenan acciones              Reutilización
                                                           Partials
   La vista puede solicitar al controlador nuevos          Components


   comportamientos                                         Referencias,
                                                           Créditos y
                                                           Licencia
Components

                                                          Symfony

                                                          David J.
                                                          Brenes
                                                          Martínez

                                                       Layouts

                                                       Configuración

   Son parecidos a las acciones del controlador        Helpers

                                                       Parámetros
   Aportan a los partials la capacidad de acceder al   Reutilización
   modelo y llevar a cabo reglas de negocio            Partials
                                                       Components


                                                       Referencias,
                                                       Créditos y
                                                       Licencia
Ficheros de components

                                               Symfony

                                               David J.
                                               Brenes
                                               Martínez

                                            Layouts

                                            Configuración
Para un componente se generan dos ficheros
                                            Helpers
    En actions: components.class.php o      Parámetros

    nombre_componenteComponent.class.php    Reutilización
                                            Partials

    En templates: _nombre_componente.php    Components


                                            Referencias,
                                            Créditos y
                                            Licencia
Diferencias con las acciones

                                                        Symfony

                                                        David J.
                                                        Brenes
                                                        Martínez

                                                     Layouts

                                                     Configuración

    Un componente no tiene plantillas de error       Helpers

                                                     Parámetros
    No pueden ser accedidos directamente desde URL
                                                     Reutilización
    Solo se pueden invocar desde vistas              Partials
                                                     Components


                                                     Referencias,
                                                     Créditos y
                                                     Licencia
Ejemplo de Component

                                                                 Symfony

                                                                 David J.
                                                                 Brenes
                                                                 Martínez

include_component ( " modulo " , " nombre_component " )Layouts
                                                        ;
                                                              Configuración

include_component ( " modulo " , " nombre_component " , Helpers
array (                                                 Parámetros

" param1 " =>  $valor_param_1 ,                        Reutilización
                                                              Partials

" param2 " =>  $valor_param_2                                Components


                                                        Referencias,
)                                                       Créditos y
                                                        Licencia
);


                       En la Vista
Referencias

                                                 Symfony

                                                 David J.
                                                 Brenes
                                                 Martínez

   Symfony Project: www.symfony-project.org   Layouts

   The Symfony Reference Book: http://www.    Configuración

                                              Helpers
   symfony-project.org/reference/1_4/en/
                                              Parámetros
   Practical Symfony:                         Reutilización
   http://www.symfony-project.org/jobeet/1_   Partials
                                              Components

   4/Doctrine/en/                             Referencias,
                                              Créditos y
   The Definitive Guide to Symfony:            Licencia

   http://www.symfony-project.org/book/1_2/
Licencia

                                                                Symfony

                                                                David J.
                                                                Brenes
                                                                Martínez

Estas transparencias se publican bajo licencia Creative      Layouts
Commons y se pueden redistribuir o modificar bajo las         Configuración
siguientes condiciones:                                      Helpers

    Se dé reconocimiento al autor de estas transparencias.   Parámetros

                                                             Reutilización
    No se use con propósitos comerciales.                    Partials
                                                             Components

    Se distribuya con la misma licencia.                     Referencias,
                                                             Créditos y
Texto de la licencia: http:                                  Licencia

//creativecommons.org/licenses/by-nc-sa/3.0/

Mais conteúdo relacionado

Mais de David J. Brenes

Introduccion a los Servicios Web Rest
Introduccion a los Servicios Web RestIntroduccion a los Servicios Web Rest
Introduccion a los Servicios Web RestDavid J. Brenes
 
Servicio y Consumo de Servicios REST en PHP
Servicio y Consumo de Servicios REST en PHPServicio y Consumo de Servicios REST en PHP
Servicio y Consumo de Servicios REST en PHPDavid J. Brenes
 
Cloud Computing: las nuevas Capas de Persistencia
Cloud Computing: las nuevas Capas de PersistenciaCloud Computing: las nuevas Capas de Persistencia
Cloud Computing: las nuevas Capas de PersistenciaDavid J. Brenes
 
Cloud Computing: Algoritmos en la Nube
Cloud Computing: Algoritmos en la NubeCloud Computing: Algoritmos en la Nube
Cloud Computing: Algoritmos en la NubeDavid J. Brenes
 
Cloud Computing: Recursos de la Web 2.0
Cloud Computing: Recursos de la Web 2.0Cloud Computing: Recursos de la Web 2.0
Cloud Computing: Recursos de la Web 2.0David J. Brenes
 
Automatic detection of navigational queries according to Behavioural Characte...
Automatic detection of navigational queries according to Behavioural Characte...Automatic detection of navigational queries according to Behavioural Characte...
Automatic detection of navigational queries according to Behavioural Characte...David J. Brenes
 
Programación de Yahoo! Pipes
Programación de Yahoo! PipesProgramación de Yahoo! Pipes
Programación de Yahoo! PipesDavid J. Brenes
 
Yahoo! Pipes y la Web 2.0
Yahoo! Pipes y la Web 2.0Yahoo! Pipes y la Web 2.0
Yahoo! Pipes y la Web 2.0David J. Brenes
 
Presentación Lectura TFMI
Presentación Lectura TFMIPresentación Lectura TFMI
Presentación Lectura TFMIDavid J. Brenes
 

Mais de David J. Brenes (10)

Yahoo! Query Language
Yahoo! Query LanguageYahoo! Query Language
Yahoo! Query Language
 
Introduccion a los Servicios Web Rest
Introduccion a los Servicios Web RestIntroduccion a los Servicios Web Rest
Introduccion a los Servicios Web Rest
 
Servicio y Consumo de Servicios REST en PHP
Servicio y Consumo de Servicios REST en PHPServicio y Consumo de Servicios REST en PHP
Servicio y Consumo de Servicios REST en PHP
 
Cloud Computing: las nuevas Capas de Persistencia
Cloud Computing: las nuevas Capas de PersistenciaCloud Computing: las nuevas Capas de Persistencia
Cloud Computing: las nuevas Capas de Persistencia
 
Cloud Computing: Algoritmos en la Nube
Cloud Computing: Algoritmos en la NubeCloud Computing: Algoritmos en la Nube
Cloud Computing: Algoritmos en la Nube
 
Cloud Computing: Recursos de la Web 2.0
Cloud Computing: Recursos de la Web 2.0Cloud Computing: Recursos de la Web 2.0
Cloud Computing: Recursos de la Web 2.0
 
Automatic detection of navigational queries according to Behavioural Characte...
Automatic detection of navigational queries according to Behavioural Characte...Automatic detection of navigational queries according to Behavioural Characte...
Automatic detection of navigational queries according to Behavioural Characte...
 
Programación de Yahoo! Pipes
Programación de Yahoo! PipesProgramación de Yahoo! Pipes
Programación de Yahoo! Pipes
 
Yahoo! Pipes y la Web 2.0
Yahoo! Pipes y la Web 2.0Yahoo! Pipes y la Web 2.0
Yahoo! Pipes y la Web 2.0
 
Presentación Lectura TFMI
Presentación Lectura TFMIPresentación Lectura TFMI
Presentación Lectura TFMI
 

Último

Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...fcastellanos3
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleJonathanCovena1
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxMartín Ramírez
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteJuan Hernandez
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfDaniel Ángel Corral de la Mata, Ph.D.
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressionsConsueloSantana3
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...JAVIER SOLIS NOYOLA
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfromanmillans
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfAlfredoRamirez953210
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024gharce
 
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfLA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfNataliaMalky1
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadJonathanCovena1
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfCESARMALAGA4
 
PPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdfPPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdfEDILIAGAMBOA
 

Último (20)

Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo Sostenible
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parte
 
DIA INTERNACIONAL DAS FLORESTAS .
DIA INTERNACIONAL DAS FLORESTAS         .DIA INTERNACIONAL DAS FLORESTAS         .
DIA INTERNACIONAL DAS FLORESTAS .
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressions
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdf
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
 
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfLA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la Sostenibilidad
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
 
PPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdfPPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdf
 

Desarrollo rápido con PHP y Symfony

  • 1. Symfony David J. Brenes Martínez Desarrollo rápido con PHP y Symfony Layouts (III) La Vista Configuración Helpers Parámetros Reutilización David J. Brenes Martínez Partials Components Referencias, Curso de Extensión Universitaria Créditos y Desarrollo web avanzado Licencia Universidad de Oviedo 2010/03/22
  • 2. Sin un sistema de plantillas Symfony David J. Brenes Martínez Layouts Configuración Dentro del PHP concreto de la vista se usaban includes Helpers Los elementos comunes se definían en ficheros Parámetros exernos Reutilización Partials La inclusión de los elementos se hace en la vista Components concreta Referencias, Créditos y Licencia
  • 3. Estructura de una vista old school Symfony David J. Brenes Martínez Layouts include ( " header . php " ) ; Configuración Helpers / / Todo e l c o n t e n i d o de l a v i s t a Parámetros // ... Reutilización Partials Components include ( " s i d e b a r . php " ) Referencias, Créditos y Licencia include ( " f o o t e r . php " )
  • 4. Con un sistema de plantillas Symfony David J. Brenes Martínez Layouts Configuración En el PHP concreto de la vista no se incluyen Helpers elementos globales Parámetros La vista concreta no sabe nada de dónde está incluida Reutilización Partials Es la plantlla la que incluye a la vista Components Referencias, Créditos y Licencia
  • 5. Vista de una acción Symfony David J. Brenes Martínez Es la vista que el controlador decide que se muestre Layouts Configuración Fichero PHP simple Helpers Hace uso de los parámetros almacenados por el Parámetros controlador Reutilización Partials Sólo debe preocuparse de la vista (sin lógica de Components Referencias, negocio) Créditos y Licencia Se situan en la carpeta templates del módulo
  • 6. Layout Symfony David J. Brenes Martínez Define los elementos comunes: Menús, cabecera, Layouts pie. . . Configuración No recibe parámetros del controlador Helpers Parámetros Hace uso de datos de la respuesta (javascripts, título Reutilización de la página, etiquetas meta. . . ) Partials Components Sólo debe preocuparse de la vista (sin lógica de Referencias, Créditos y negocio) Licencia Se situan en la carpeta templates de la aplicación
  • 7. Layout de ejemplo Symfony David J. Brenes Martínez <html > Layouts <head> Configuración <?php include_metas ( ) ?> Helpers <?php i n c l u d e _ t i t l e ( ) ?> Parámetros <?php i n c l u d e _ s t y l e s h e e t s ( ) ?> Reutilización Partials </ head> Components <body> Referencias, Créditos y <?php echo $ s f _ c o n t e n t ?> Licencia </ body> </ html >
  • 8. Slots Symfony David J. Brenes Martínez Layouts Configuración En ocasiones la vista debe introducir elementos en el layout Helpers Parámetros Submenús Reutilización Sidebar contextuales Partials Components Referencias, Créditos y Licencia
  • 9. Slots Symfony David J. Brenes Martínez Layouts Configuración Zonas del layout donde podemos introducir contenido Helpers Se declaran en el layout Parámetros Reutilización En la vista se indica que parte el contenido va a parar a Partials Components un slot Referencias, Créditos y Licencia
  • 10. Ejemplo de slots Symfony David J. Brenes Martínez Layouts Configuración <?php i f ( ! i n c l u d e _ s l o t ( ’ s i d e b a r ’ ) ) : ?> Helpers <!−− código por d e f e c t o −−> Parámetros <?php e n d i f ; ?> Reutilización Partials Components Referencias, Créditos y En el layout Licencia
  • 11. Ejemplo de slots Symfony David J. Brenes Martínez Layouts Configuración <?php s l o t ( ’ s i d e b a r ’ ) ?> Helpers <!−− Código d e l s i d e b a r para e s t a v i s t a −−> Parámetros <?php e n d _ s l o t ( ) ?> Reutilización Partials Components Referencias, Créditos y En la vista Licencia
  • 12. View.yml Symfony David J. Brenes Martínez Layouts Fichero de configuración de las vistas Configuración En la configuración de la aplicación define aspectos Helpers comunes a toda la aplicación Parámetros En la configuración del módulo nos define aspectos del Reutilización Partials módulo o de una vista Components Referencias, La configuración del módulo o vista puede Créditos y Licencia sobreescribir los niveles anteriores
  • 13. View.yml Symfony David J. Brenes Martínez Configuramos: Layouts Configuración El layout que debe tener una vista Helpers Las hojas de estilo Parámetros Los javascripts a incluir Reutilización Partials Metas y HTTP Metas, aunque está desaconsejado Components Referencias, Créditos y Referencia: http://www.symfony-project.org/ Licencia reference/1_4/en/13-View
  • 14. Configuración en tiempo de ejecución Symfony David J. Brenes Martínez Layouts Puede interesar cambiar el título de la web en tiempo Configuración de ejecución Helpers Se dispone de un objeto Response desde el que Parámetros modificar la respuesta Reutilización Partials Components En el controlador $this->getResponse() Referencias, Desde la vista $sf_response Créditos y Licencia
  • 15. Funciones complejas Symfony David J. Brenes Martínez Layouts En ocasiones las vistas tienen comportamientos Configuración complejos Helpers Parámetros Esos comportamientos se repiten en otras vistas Reutilización Las vistas crecen y se hacen menos legibles Partials Components Necesidad de declarar ese código fuera de la vista Referencias, Créditos y Licencia
  • 16. Helpers Symfony David J. Brenes Martínez Layouts Configuración Ficheros con funciones (no necesariamente clases) Helpers Parámetros Se declara su uso y las funciones estan disponibles Reutilización Normalmente son funciones muy abstractas Partials Components Referencias, Créditos y Licencia
  • 17. Declaración de Helpers Symfony David J. Brenes Martínez Layouts En la vista: funcion use_helper Configuración En el controlador o el modelo: Helpers sfApplicationConfiguration::getActive()->loadHelpers Parámetros En la configuración (settings.yml), añadiendolo a Reutilización Partials standard_helpers Components Referencias, Si los helpers se cargan siempre, incluirlo en la Créditos y Licencia configuración
  • 18. Creación de Helpers Symfony David J. Brenes Martínez Layouts Las funciones van en un fichero Configuración Helpers nombre_del_helper+Helper.php Parámetros El fichero debe situarse en lib/helpers Reutilización Partials Al declarar su uso debe hacerse referencia a Components nombre_del_helper, no a nombre_del_helper+Helper Referencias, Créditos y Licencia
  • 19. Ejemplo de Helper Symfony David J. Brenes Martínez Layouts Configuración f u n c t i o n f o r m a t ( $param ) Helpers { Parámetros // ... Reutilización } Partials Components Referencias, Créditos y Licencia /lib/helpers/CustomHelper.php
  • 20. Ejemplo de Helper Symfony David J. Brenes Martínez Layouts Configuración use_helper ( array ( " Custom " ) ) ; Helpers Parámetros echo f o r m a t ( $param ) ; Reutilización Partials Components Referencias, Créditos y En la Vista Licencia
  • 21. Del controlador Symfony David J. Brenes Martínez Layouts Lo ideal sería que todos los parámetros vinieran del Configuración controlador Helpers Son variables PHP con el mismo nombre que les diera Parámetros Reutilización el controlador Partials Components NO son variables de objeto (no deben accederse con Referencias, $this->) Créditos y Licencia
  • 22. Acceso a la request Symfony David J. Brenes Martínez Layouts Configuración Helpers Se tiene el objeto $sf_request Parámetros Es el mismo objeto que el $this->getRequest() del Reutilización controlador Partials Components Referencias, Créditos y Licencia
  • 23. Acceso a la sesión Symfony David J. Brenes Martínez Layouts Configuración Helpers Se tiene el objeto $sf_user Parámetros Es el mismo objeto que el $this->getUser() del Reutilización controlador Partials Components Referencias, Créditos y Licencia
  • 24. Cuando el layout no es suficiente Symfony David J. Brenes Martínez Layouts Configuración Helpers El layout define los elementos comunes: Menús, cabecera, Parámetros pie. . . Reutilización Partials ¿Seguro? Components Referencias, Créditos y Licencia
  • 25. Cuando el layout no es suficiente Symfony David J. Brenes Martínez Layouts Las layouts crecen si hay muchos elementos comunes Configuración Helpers (menú, migas de pan, sidebars, banners, footers. . . ) Parámetros Puede haber elementos comunes a las layouts Reutilización Partials Puede haber elementos complejos que ensucien Components nuestro layout Referencias, Créditos y Licencia
  • 26. Reutilización de vistas Symfony David J. Brenes Martínez Layouts Configuración Elementos de reutilización: Helpers Parámetros Partials Reutilización Components Partials Components Referencias, Créditos y Licencia
  • 27. Partials Symfony David J. Brenes Martínez Layouts Vistas reutilizables en otras vistas Configuración Tienen acceso a helpers, la request, el usuario, etc. Helpers Parámetros No tienen acceso a las variables comunicadas por el Reutilización controlador Partials Components Pueden recibir parametros de la vista Referencias, Créditos y Pueden incluir otros partials y components Licencia
  • 28. Ejemplo de Partial Symfony David J. i n c l u d e _ p a r t i a l ( " nombre_partial " ) ; Brenes Martínez i n c l u d e _ p a r t i a l ( " modulo / n o m b r e _ p a r t i a l " ) ; Layouts i n c l u d e _ p a r t i a l ( " global / nombre_partial " ) ; Configuración Helpers echo g e t _ p a r t i a l ( " n o m b r e _ p a r t i a l " ) ; Parámetros Reutilización i n c l u d e _ p a r t i a l ( " nombre_partial " , Partials Components array ( Referencias, " param1 " => $valor_param_1 , Créditos y Licencia " param2 " => $valor_param_2 ) ); En la Vista
  • 29. Ejemplo de Partial Symfony David J. Brenes Martínez Layouts echo $param1 ; Configuración Helpers Parámetros echo $param2 ; Reutilización Partials i n c l u d e _ p a r t i a l ( " nombre_otro_partial " ) ; Components Referencias, Créditos y Licencia En el partial _nombre_partial.php
  • 30. Cuando los partials no sirven Symfony David J. Brenes Martínez Layouts Configuración Helpers En nuestra sidebar hay una zona de últimas noticias. Parámetros Reutilización ¿Cómo lo implementamos? Partials Components Referencias, Créditos y Licencia
  • 31. Cuando los partials no sirven Symfony David J. Brenes Martínez Layouts Configuración Helpers ¿Obteniendo las últimas noticias en un partial? Parámetros ¿Obteniendo las últimas noticias en todos los Reutilización controladores? Partials Components Referencias, Créditos y Licencia
  • 32. Components Symfony David J. Brenes Martínez Layouts En ocasiones interesa reutilizar controladores Configuración Helpers Noticias más leidas, recomendaciones al usuario, etc. Parámetros En otras plataformas se encadenan acciones Reutilización Partials La vista puede solicitar al controlador nuevos Components comportamientos Referencias, Créditos y Licencia
  • 33. Components Symfony David J. Brenes Martínez Layouts Configuración Son parecidos a las acciones del controlador Helpers Parámetros Aportan a los partials la capacidad de acceder al Reutilización modelo y llevar a cabo reglas de negocio Partials Components Referencias, Créditos y Licencia
  • 34. Ficheros de components Symfony David J. Brenes Martínez Layouts Configuración Para un componente se generan dos ficheros Helpers En actions: components.class.php o Parámetros nombre_componenteComponent.class.php Reutilización Partials En templates: _nombre_componente.php Components Referencias, Créditos y Licencia
  • 35. Diferencias con las acciones Symfony David J. Brenes Martínez Layouts Configuración Un componente no tiene plantillas de error Helpers Parámetros No pueden ser accedidos directamente desde URL Reutilización Solo se pueden invocar desde vistas Partials Components Referencias, Créditos y Licencia
  • 36. Ejemplo de Component Symfony David J. Brenes Martínez include_component ( " modulo " , " nombre_component " )Layouts ; Configuración include_component ( " modulo " , " nombre_component " , Helpers array ( Parámetros " param1 " => $valor_param_1 , Reutilización Partials " param2 " => $valor_param_2 Components Referencias, ) Créditos y Licencia ); En la Vista
  • 37. Referencias Symfony David J. Brenes Martínez Symfony Project: www.symfony-project.org Layouts The Symfony Reference Book: http://www. Configuración Helpers symfony-project.org/reference/1_4/en/ Parámetros Practical Symfony: Reutilización http://www.symfony-project.org/jobeet/1_ Partials Components 4/Doctrine/en/ Referencias, Créditos y The Definitive Guide to Symfony: Licencia http://www.symfony-project.org/book/1_2/
  • 38. Licencia Symfony David J. Brenes Martínez Estas transparencias se publican bajo licencia Creative Layouts Commons y se pueden redistribuir o modificar bajo las Configuración siguientes condiciones: Helpers Se dé reconocimiento al autor de estas transparencias. Parámetros Reutilización No se use con propósitos comerciales. Partials Components Se distribuya con la misma licencia. Referencias, Créditos y Texto de la licencia: http: Licencia //creativecommons.org/licenses/by-nc-sa/3.0/