SlideShare ist ein Scribd-Unternehmen logo
1 von 28
Downloaden Sie, um offline zu lesen
Symfony

                                              David J.
                                              Brenes
                                              Martínez

Desarrollo rápido con PHP y Symfony         Decidiendo
                                            qué ejecutar
          (II) El Controlador               Ejecutando
                                            acciones

                                            Parámetros

                                            Comunicación
        David J. Brenes Martínez            con el modelo
                                            y la vista

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


                 2010/03/22
Puntos de entrada

                                                               Symfony

                                                               David J.
                                                               Brenes
                                                               Martínez

   index.php, frontend_dev.php. . .                          Decidiendo
                                                             qué ejecutar
   El servidor web hace pasar todas las peticiones por
                                                             Ejecutando
   ellos                                                     acciones

                                                             Parámetros
   El punto de entrada decide el entorno y la aplicación a
                                                             Comunicación
   ejecutar                                                  con el modelo
                                                             y la vista
   Una vez creado el controlador se le pasa la               Referencias,
   responsabilidad de la ejecucion                           Créditos y
                                                             Licencia

   Se pueden desactivar mediante tareas de Symfony
Entorno

                                                               Symfony

                                                               David J.
                                                               Brenes
                                                               Martínez

                                                             Decidiendo
                                                             qué ejecutar

   Se dispone de 3 entornos: producción, desarrollo y test   Ejecutando
                                                             acciones
   El entorno de desarrollo proveé de información extra de   Parámetros

   depuración                                                Comunicación
                                                             con el modelo
   En sitio en producción hay que desactivar ese entorno     y la vista

                                                             Referencias,
                                                             Créditos y
                                                             Licencia
Aplicacion

                                                            Symfony

                                                            David J.
                                                            Brenes
                                                            Martínez

                                                          Decidiendo
                                                          qué ejecutar

    Cada punto de entrada corresponde a una aplicación    Ejecutando
                                                          acciones
    distinta                                              Parámetros

    Al crear aplicaciones mediante tareas de symfony se   Comunicación
                                                          con el modelo
    crean sus puntos de entrada                           y la vista

                                                          Referencias,
                                                          Créditos y
                                                          Licencia
Filtros

                                                              Symfony

                                                              David J.
                                                              Brenes
                                                              Martínez

    Son pasos previos a la ejecucion de nuestro código      Decidiendo
                                                            qué ejecutar
    Symfony declara filtros por defecto para realizar
                                                            Ejecutando
    diversas tareas                                         acciones

                                                            Parámetros
    Los filtros se declaran en una pila
                                                            Comunicación
    Permiten controlar la request antes de ejecutarse los   con el modelo
                                                            y la vista
    filtros inferiores                                       Referencias,
                                                            Créditos y
    Permiten modificar la respuesta tras ejecutarse la       Licencia

    request
Módulos y acciones

                                                           Symfony

                                                           David J.
                                                           Brenes
                                                           Martínez

                                                         Decidiendo
                                                         qué ejecutar

   El controlador se basa en la configuración de rutas    Ejecutando
                                                         acciones
   para decidir el módulo y acción                       Parámetros

   El controlador puede pasar parámetros a la acción a   Comunicación
                                                         con el modelo
   ejecutar                                              y la vista

                                                         Referencias,
                                                         Créditos y
                                                         Licencia
¿Acciones?

                                                           Symfony

                                                           David J.
                                                           Brenes
                                                           Martínez


   Son los trozos de lógica de negocio que se ejecutan   Decidiendo
                                                         qué ejecutar
   con cada petición                                     Ejecutando
                                                         acciones
   Permiten aislarnos de la complejidad del framework
                                                         Parámetros
   Nos comunicamos con el modelo para solicitar datos    Comunicación
                                                         con el modelo
   Transformamos los datos y pedimos al modelo que los   y la vista

   almacene                                              Referencias,
                                                         Créditos y
                                                         Licencia
   Pasamos parámetros a la vista para mostrarlos
Organización de las acciones

                                                   Symfony

                                                   David J.
                                                   Brenes
                                                   Martínez

                                                 Decidiendo
                                                 qué ejecutar

    Todas en un fichero (actions.class.php)       Ejecutando
                                                 acciones
    Ficheros aislados (*Action.class.php)        Parámetros

    Heredan de una acción básica del framework   Comunicación
                                                 con el modelo
                                                 y la vista
    Podemos definir nuestra propia clase básica
                                                 Referencias,
                                                 Créditos y
                                                 Licencia
Pasos de ejecución de una acción

                                     Symfony

                                     David J.
                                     Brenes
                                     Martínez

                                   Decidiendo
                                   qué ejecutar

    Validación                     Ejecutando
                                   acciones
    Gestión de errores             Parámetros

    Ejecución de nuestro código    Comunicación
                                   con el modelo
                                   y la vista
    Delegación en la vista
                                   Referencias,
                                   Créditos y
                                   Licencia
Pasos de ejecución de una acción

                                     Symfony

                                     David J.
                                     Brenes
                                     Martínez

                                   Decidiendo
                                   qué ejecutar

                                   Ejecutando
                                   acciones

                                   Parámetros

                                   Comunicación
                                   con el modelo
                                   y la vista

                                   Referencias,
                                   Créditos y
                                   Licencia
Acceso a la Request

                                                          Symfony

                                                          David J.
                                                          Brenes
                                                          Martínez

                                                        Decidiendo
                                                        qué ejecutar

   Evitando el uso de $_GET, $_POST y $_FILES           Ejecutando
                                                        acciones
   La request es un objeto                              Parámetros

   Nos permite acceder a toda la información sobre la   Comunicación
                                                        con el modelo
   petición                                             y la vista

                                                        Referencias,
                                                        Créditos y
                                                        Licencia
Acceso a la Request

                                                      Symfony

                                                      David J.
                                                      Brenes
                                                      Martínez

                                                    Decidiendo
                                                    qué ejecutar

$ r e q u e s t = $ t h i s −>getRequest ( ) ;      Ejecutando
                                                    acciones

                                                    Parámetros
$request −>getMethod () − > getCookie ( $cookie )   Comunicación
                                                    con el modelo
                                                    y la vista

$request −>isXmlHttpRequest ( )                     Referencias,
                                                    Créditos y
                                                    Licencia
Parámetros de la Request

                                                         Symfony

                                                         David J.
                                                         Brenes
                                                         Martínez

                                                       Decidiendo
                                                       qué ejecutar

$request −>hasParameter ( $parameter )                 Ejecutando
                                                       acciones

                                                       Parámetros
$request −>getParameter ( $parameter )                 Comunicación
                                                       con el modelo
                                                       y la vista

$request −>getParameterHolder () − > g e t A l l ( )   Referencias,
                                                       Créditos y
                                                       Licencia
Parámetros de la Request

                                                          Symfony

                                                          David J.
                                                          Brenes
                                                          Martínez

                                                        Decidiendo
                                                        qué ejecutar

                                                        Ejecutando
   hasParameter: Manera de determinar si el parámetro   acciones

   está presente en la Request                          Parámetros

                                                        Comunicación
   getParameter: Obtencion del valor de un parámetro    con el modelo
                                                        y la vista

                                                        Referencias,
                                                        Créditos y
                                                        Licencia
¿GET o POST?

                                                         Symfony

                                                         David J.
                                                         Brenes
                                                         Martínez

                                                       Decidiendo
                                                       qué ejecutar

                                                       Ejecutando
   Mezcla los parámetros GET y los POST                acciones

                                                       Parámetros
   Podemos obtener el método de la petición mediante
                                                       Comunicación
   otra consulta a la Request                          con el modelo
                                                       y la vista

                                                       Referencias,
                                                       Créditos y
                                                       Licencia
Sesión del usuario

                                                              Symfony

                                                              David J.
                                                              Brenes
                                                              Martínez

                                                            Decidiendo
                                                            qué ejecutar

    La clase User nos da acceso                             Ejecutando
                                                            acciones
    User está asociada a la seguridad de las aplicaciones   Parámetros

    Algunos plugins redefinen esa clase                      Comunicación
                                                            con el modelo
                                                            y la vista
    Nos da acceso a los atributos del usuario
                                                            Referencias,
                                                            Créditos y
                                                            Licencia
Sesión del usuario

                                                                        Symfony

                                                                        David J.
                                                                        Brenes
                                                                        Martínez

                                                                      Decidiendo
                                                                      qué ejecutar
$ a t t r i b u t e = $ t h i s −>getUser ( )
                                                                      Ejecutando
−> g e t A t t r i b u t e ( $ a t t r i b u t e _ n a m e )          acciones

                                                                      Parámetros

 $ t h i s −>getUser () − > s e t A t t r i b u t e                   Comunicación
                                                                      con el modelo
 ( $attribute_name , $ a t t r i b u t e )                            y la vista

                                                                      Referencias,
                                                                      Créditos y
 $ t h i s −>getUser () − > g e t A t t r i b u t e H o l d e r ( )   Licencia
Parámetros Flash

                                                            Symfony

                                                            David J.
                                                            Brenes
                                                            Martínez

                                                          Decidiendo
                                                          qué ejecutar
   Parámetros que pasan de una request a la siguiente     Ejecutando
                                                          acciones
   Una manera sencilla de hacer persistir ciertos datos
                                                          Parámetros
   mientras se necesitan
                                                          Comunicación
   Se hace uso de la sesión del usuario                   con el modelo
                                                          y la vista

   Los parámetros ‘caducan’ solos                         Referencias,
                                                          Créditos y
                                                          Licencia
Parámetros Flash

                                                                        Symfony

                                                                        David J.
                                                                        Brenes
                                                                        Martínez

                                                                      Decidiendo
                                                                      qué ejecutar
$ a t t r i b u t e = $ t h i s −>getUser ( )
                                                                      Ejecutando
−>g e t F l a s h ( $ a t t r i b u t e _ n a m e )                   acciones

                                                                      Parámetros

 $ t h i s −>getUser () − > s e t F l a s h                           Comunicación
                                                                      con el modelo
 ( $attribute_name , $ a t t r i b u t e )                            y la vista

                                                                      Referencias,
                                                                      Créditos y
 $ t h i s −>getUser () − > g e t A t t r i b u t e H o l d e r ( )   Licencia
Modelo

                                                           Symfony

                                                           David J.
                                                           Brenes
                                                           Martínez

                                                         Decidiendo
                                                         qué ejecutar

                                                         Ejecutando
   Se hace referencia a las clases del modelo que se     acciones
   desea                                                 Parámetros

   Los objetos del modelo se usan como contenedores de   Comunicación
                                                         con el modelo
   valores                                               y la vista

                                                         Referencias,
                                                         Créditos y
                                                         Licencia
Vista

                                                             Symfony

                                                             David J.
                                                             Brenes
                                                             Martínez

                                                           Decidiendo
                                                           qué ejecutar

                                                           Ejecutando
    Se crean propiedades del objeto y se les da un valor   acciones

                                                           Parámetros
    Ese valor se puede recuperar en las vistas de manera
                                                           Comunicación
    totalmente transparente.                               con el modelo
                                                           y la vista

                                                           Referencias,
                                                           Créditos y
                                                           Licencia
Vista

                                             Symfony

                                             David J.
                                             Brenes
                                             Martínez

                                           Decidiendo
                                           qué ejecutar

                                           Ejecutando
 / / En l a a c c i ó n                    acciones
 $ t h i s −>parameter = ’ parameter ’ ;   Parámetros

                                           Comunicación
                                           con el modelo
/ / En l a v i s t a                       y la vista

echo $parameter ;                          Referencias,
                                           Créditos y
                                           Licencia
Vista

                                                      Symfony

                                                      David J.
                                                      Brenes
                                                      Martínez

                                                    Decidiendo
                                                    qué ejecutar

                                                    Ejecutando
                                                    acciones

                                                    Parámetros
¿Está bien pasarle a la vista objetos del modelo?   Comunicación
                                                    con el modelo
                                                    y la vista

                                                    Referencias,
                                                    Créditos y
                                                    Licencia
Seleccionando la vista

                                                             Symfony

                                                             David J.
                                                             Brenes
                                                             Martínez

                                                           Decidiendo
                                                           qué ejecutar

    El controlador permite seleccionar la vista concreta   Ejecutando
                                                           acciones
    El método execute devuelve el sufijo de la vista.       Parámetros

    Por defecto se devuelve Success.                       Comunicación
                                                           con el modelo
                                                           y la vista
    Podemos devolver valores propios
                                                           Referencias,
                                                           Créditos y
                                                           Licencia
Seleccionando la vista

                                                                   Symfony

                                                                   David J.
                                                                   Brenes
                                                                   Martínez

                                                                 Decidiendo
 / / La v i s t a que se vera es accionSuccess . php             qué ejecutar

 r e t u r n sfView : : SUCCESS;                                 Ejecutando
                                                                 acciones

                                                                 Parámetros
 / / La v i s t a que se verá es a c c i o n E r r o r . php     Comunicación
 r e t u r n sfView : : ERROR;                                   con el modelo
                                                                 y la vista

                                                                 Referencias,
                                                                 Créditos y
 / / La v i s t a que se verá es a c c i o n M o b i l e . php   Licencia
 r e t u r n " Mobile " ;
Referencias

                                                Symfony

                                                David J.
                                                Brenes
                                                Martínez

   Symfony Project: www.symfony-project.org   Decidiendo
                                              qué ejecutar
   The Symfony Reference Book: http://www.    Ejecutando
   symfony-project.org/reference/1_4/en/      acciones

                                              Parámetros
   Practical Symfony:
                                              Comunicación
   http://www.symfony-project.org/jobeet/1_   con el modelo
                                              y la vista
   4/Doctrine/en/                             Referencias,
                                              Créditos y
   The Definitive Guide to Symfony:            Licencia
   http://www.symfony-project.org/book/1_2/
Créditos

                                                          Symfony

                                                          David J.
                                                          Brenes
                                                          Martínez

                                                        Decidiendo
                                                        qué ejecutar

                                                        Ejecutando
    La imagen de la cadena de ejecución de una acción   acciones

                                                        Parámetros
    está sacada de The Definitive Guide to Symfony,
                                                        Comunicación
    chapter 6.                                          con el modelo
                                                        y la vista

                                                        Referencias,
                                                        Créditos y
                                                        Licencia
Licencia

                                                               Symfony

                                                               David J.
                                                               Brenes
                                                               Martínez

Estas transparencias se publican bajo licencia Creative      Decidiendo
Commons y se pueden redistribuir o modificar bajo las         qué ejecutar

                                                             Ejecutando
siguientes condiciones:                                      acciones

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

                                                             Comunicación
    No se use con propósitos comerciales.                    con el modelo
                                                             y la vista
    Se distribuya con la misma licencia.                     Referencias,
                                                             Créditos y
Texto de la licencia: http:                                  Licencia
//creativecommons.org/licenses/by-nc-sa/3.0/

Weitere ähnliche Inhalte

Ähnlich wie Desarrollo rápido con PHP y Symfony

Ähnlich wie Desarrollo rápido con PHP y Symfony (10)

Windows phone 7.5
Windows phone 7.5 Windows phone 7.5
Windows phone 7.5
 
CodeCamp 2011 - Windows Phone
CodeCamp 2011 - Windows PhoneCodeCamp 2011 - Windows Phone
CodeCamp 2011 - Windows Phone
 
Modelo De Referencia OSI
Modelo De Referencia OSIModelo De Referencia OSI
Modelo De Referencia OSI
 
Generalidades sobre Windows Phone
Generalidades sobre Windows PhoneGeneralidades sobre Windows Phone
Generalidades sobre Windows Phone
 
Xen.org Overview Spanish
Xen.org Overview SpanishXen.org Overview Spanish
Xen.org Overview Spanish
 
Ingenieria web
Ingenieria webIngenieria web
Ingenieria web
 
Sesion 1 introducción a la plataforma windows phone
Sesion 1   introducción a la plataforma windows phoneSesion 1   introducción a la plataforma windows phone
Sesion 1 introducción a la plataforma windows phone
 
Evaluando la Plataforma Microsoft
Evaluando la Plataforma MicrosoftEvaluando la Plataforma Microsoft
Evaluando la Plataforma Microsoft
 
Practica#04
Practica#04Practica#04
Practica#04
 
Practica#04
Practica#04Practica#04
Practica#04
 

Mehr von David J. Brenes

Introducción a la Yahoo! Open Strategy
Introducción a la Yahoo! Open StrategyIntroducción a la Yahoo! Open Strategy
Introducción a la Yahoo! Open StrategyDavid 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
 

Mehr von David J. Brenes (11)

Introducción a PHP
Introducción a PHPIntroducción a PHP
Introducción a PHP
 
Introducción a la Yahoo! Open Strategy
Introducción a la Yahoo! Open StrategyIntroducción a la Yahoo! Open Strategy
Introducción a la Yahoo! Open Strategy
 
Yahoo! Query Language
Yahoo! Query LanguageYahoo! Query Language
Yahoo! Query Language
 
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
 

Kürzlich hochgeladen

INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptxdeimerhdz21
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptxORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptxnandoapperscabanilla
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularMooPandrea
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfFrancisco158360
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Alejandrino Halire Ccahuana
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSYadi Campos
 
Valoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCVValoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCVGiustinoAdesso1
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfMaritzaRetamozoVera
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesYanirisBarcelDelaHoz
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxlupitavic
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxMaritzaRetamozoVera
 

Kürzlich hochgeladen (20)

INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptxORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circular
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
Valoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCVValoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCV
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonables
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 

Desarrollo rápido con PHP y Symfony

  • 1. Symfony David J. Brenes Martínez Desarrollo rápido con PHP y Symfony Decidiendo qué ejecutar (II) El Controlador Ejecutando acciones Parámetros Comunicación David J. Brenes Martínez con el modelo y la vista Curso de Extensión Universitaria Referencias, Créditos y Desarrollo web avanzado Licencia Universidad de Oviedo 2010/03/22
  • 2. Puntos de entrada Symfony David J. Brenes Martínez index.php, frontend_dev.php. . . Decidiendo qué ejecutar El servidor web hace pasar todas las peticiones por Ejecutando ellos acciones Parámetros El punto de entrada decide el entorno y la aplicación a Comunicación ejecutar con el modelo y la vista Una vez creado el controlador se le pasa la Referencias, responsabilidad de la ejecucion Créditos y Licencia Se pueden desactivar mediante tareas de Symfony
  • 3. Entorno Symfony David J. Brenes Martínez Decidiendo qué ejecutar Se dispone de 3 entornos: producción, desarrollo y test Ejecutando acciones El entorno de desarrollo proveé de información extra de Parámetros depuración Comunicación con el modelo En sitio en producción hay que desactivar ese entorno y la vista Referencias, Créditos y Licencia
  • 4. Aplicacion Symfony David J. Brenes Martínez Decidiendo qué ejecutar Cada punto de entrada corresponde a una aplicación Ejecutando acciones distinta Parámetros Al crear aplicaciones mediante tareas de symfony se Comunicación con el modelo crean sus puntos de entrada y la vista Referencias, Créditos y Licencia
  • 5. Filtros Symfony David J. Brenes Martínez Son pasos previos a la ejecucion de nuestro código Decidiendo qué ejecutar Symfony declara filtros por defecto para realizar Ejecutando diversas tareas acciones Parámetros Los filtros se declaran en una pila Comunicación Permiten controlar la request antes de ejecutarse los con el modelo y la vista filtros inferiores Referencias, Créditos y Permiten modificar la respuesta tras ejecutarse la Licencia request
  • 6. Módulos y acciones Symfony David J. Brenes Martínez Decidiendo qué ejecutar El controlador se basa en la configuración de rutas Ejecutando acciones para decidir el módulo y acción Parámetros El controlador puede pasar parámetros a la acción a Comunicación con el modelo ejecutar y la vista Referencias, Créditos y Licencia
  • 7. ¿Acciones? Symfony David J. Brenes Martínez Son los trozos de lógica de negocio que se ejecutan Decidiendo qué ejecutar con cada petición Ejecutando acciones Permiten aislarnos de la complejidad del framework Parámetros Nos comunicamos con el modelo para solicitar datos Comunicación con el modelo Transformamos los datos y pedimos al modelo que los y la vista almacene Referencias, Créditos y Licencia Pasamos parámetros a la vista para mostrarlos
  • 8. Organización de las acciones Symfony David J. Brenes Martínez Decidiendo qué ejecutar Todas en un fichero (actions.class.php) Ejecutando acciones Ficheros aislados (*Action.class.php) Parámetros Heredan de una acción básica del framework Comunicación con el modelo y la vista Podemos definir nuestra propia clase básica Referencias, Créditos y Licencia
  • 9. Pasos de ejecución de una acción Symfony David J. Brenes Martínez Decidiendo qué ejecutar Validación Ejecutando acciones Gestión de errores Parámetros Ejecución de nuestro código Comunicación con el modelo y la vista Delegación en la vista Referencias, Créditos y Licencia
  • 10. Pasos de ejecución de una acción Symfony David J. Brenes Martínez Decidiendo qué ejecutar Ejecutando acciones Parámetros Comunicación con el modelo y la vista Referencias, Créditos y Licencia
  • 11. Acceso a la Request Symfony David J. Brenes Martínez Decidiendo qué ejecutar Evitando el uso de $_GET, $_POST y $_FILES Ejecutando acciones La request es un objeto Parámetros Nos permite acceder a toda la información sobre la Comunicación con el modelo petición y la vista Referencias, Créditos y Licencia
  • 12. Acceso a la Request Symfony David J. Brenes Martínez Decidiendo qué ejecutar $ r e q u e s t = $ t h i s −>getRequest ( ) ; Ejecutando acciones Parámetros $request −>getMethod () − > getCookie ( $cookie ) Comunicación con el modelo y la vista $request −>isXmlHttpRequest ( ) Referencias, Créditos y Licencia
  • 13. Parámetros de la Request Symfony David J. Brenes Martínez Decidiendo qué ejecutar $request −>hasParameter ( $parameter ) Ejecutando acciones Parámetros $request −>getParameter ( $parameter ) Comunicación con el modelo y la vista $request −>getParameterHolder () − > g e t A l l ( ) Referencias, Créditos y Licencia
  • 14. Parámetros de la Request Symfony David J. Brenes Martínez Decidiendo qué ejecutar Ejecutando hasParameter: Manera de determinar si el parámetro acciones está presente en la Request Parámetros Comunicación getParameter: Obtencion del valor de un parámetro con el modelo y la vista Referencias, Créditos y Licencia
  • 15. ¿GET o POST? Symfony David J. Brenes Martínez Decidiendo qué ejecutar Ejecutando Mezcla los parámetros GET y los POST acciones Parámetros Podemos obtener el método de la petición mediante Comunicación otra consulta a la Request con el modelo y la vista Referencias, Créditos y Licencia
  • 16. Sesión del usuario Symfony David J. Brenes Martínez Decidiendo qué ejecutar La clase User nos da acceso Ejecutando acciones User está asociada a la seguridad de las aplicaciones Parámetros Algunos plugins redefinen esa clase Comunicación con el modelo y la vista Nos da acceso a los atributos del usuario Referencias, Créditos y Licencia
  • 17. Sesión del usuario Symfony David J. Brenes Martínez Decidiendo qué ejecutar $ a t t r i b u t e = $ t h i s −>getUser ( ) Ejecutando −> g e t A t t r i b u t e ( $ a t t r i b u t e _ n a m e ) acciones Parámetros $ t h i s −>getUser () − > s e t A t t r i b u t e Comunicación con el modelo ( $attribute_name , $ a t t r i b u t e ) y la vista Referencias, Créditos y $ t h i s −>getUser () − > g e t A t t r i b u t e H o l d e r ( ) Licencia
  • 18. Parámetros Flash Symfony David J. Brenes Martínez Decidiendo qué ejecutar Parámetros que pasan de una request a la siguiente Ejecutando acciones Una manera sencilla de hacer persistir ciertos datos Parámetros mientras se necesitan Comunicación Se hace uso de la sesión del usuario con el modelo y la vista Los parámetros ‘caducan’ solos Referencias, Créditos y Licencia
  • 19. Parámetros Flash Symfony David J. Brenes Martínez Decidiendo qué ejecutar $ a t t r i b u t e = $ t h i s −>getUser ( ) Ejecutando −>g e t F l a s h ( $ a t t r i b u t e _ n a m e ) acciones Parámetros $ t h i s −>getUser () − > s e t F l a s h Comunicación con el modelo ( $attribute_name , $ a t t r i b u t e ) y la vista Referencias, Créditos y $ t h i s −>getUser () − > g e t A t t r i b u t e H o l d e r ( ) Licencia
  • 20. Modelo Symfony David J. Brenes Martínez Decidiendo qué ejecutar Ejecutando Se hace referencia a las clases del modelo que se acciones desea Parámetros Los objetos del modelo se usan como contenedores de Comunicación con el modelo valores y la vista Referencias, Créditos y Licencia
  • 21. Vista Symfony David J. Brenes Martínez Decidiendo qué ejecutar Ejecutando Se crean propiedades del objeto y se les da un valor acciones Parámetros Ese valor se puede recuperar en las vistas de manera Comunicación totalmente transparente. con el modelo y la vista Referencias, Créditos y Licencia
  • 22. Vista Symfony David J. Brenes Martínez Decidiendo qué ejecutar Ejecutando / / En l a a c c i ó n acciones $ t h i s −>parameter = ’ parameter ’ ; Parámetros Comunicación con el modelo / / En l a v i s t a y la vista echo $parameter ; Referencias, Créditos y Licencia
  • 23. Vista Symfony David J. Brenes Martínez Decidiendo qué ejecutar Ejecutando acciones Parámetros ¿Está bien pasarle a la vista objetos del modelo? Comunicación con el modelo y la vista Referencias, Créditos y Licencia
  • 24. Seleccionando la vista Symfony David J. Brenes Martínez Decidiendo qué ejecutar El controlador permite seleccionar la vista concreta Ejecutando acciones El método execute devuelve el sufijo de la vista. Parámetros Por defecto se devuelve Success. Comunicación con el modelo y la vista Podemos devolver valores propios Referencias, Créditos y Licencia
  • 25. Seleccionando la vista Symfony David J. Brenes Martínez Decidiendo / / La v i s t a que se vera es accionSuccess . php qué ejecutar r e t u r n sfView : : SUCCESS; Ejecutando acciones Parámetros / / La v i s t a que se verá es a c c i o n E r r o r . php Comunicación r e t u r n sfView : : ERROR; con el modelo y la vista Referencias, Créditos y / / La v i s t a que se verá es a c c i o n M o b i l e . php Licencia r e t u r n " Mobile " ;
  • 26. Referencias Symfony David J. Brenes Martínez Symfony Project: www.symfony-project.org Decidiendo qué ejecutar The Symfony Reference Book: http://www. Ejecutando symfony-project.org/reference/1_4/en/ acciones Parámetros Practical Symfony: Comunicación http://www.symfony-project.org/jobeet/1_ con el modelo y la vista 4/Doctrine/en/ Referencias, Créditos y The Definitive Guide to Symfony: Licencia http://www.symfony-project.org/book/1_2/
  • 27. Créditos Symfony David J. Brenes Martínez Decidiendo qué ejecutar Ejecutando La imagen de la cadena de ejecución de una acción acciones Parámetros está sacada de The Definitive Guide to Symfony, Comunicación chapter 6. con el modelo y la vista Referencias, Créditos y Licencia
  • 28. Licencia Symfony David J. Brenes Martínez Estas transparencias se publican bajo licencia Creative Decidiendo Commons y se pueden redistribuir o modificar bajo las qué ejecutar Ejecutando siguientes condiciones: acciones Se dé reconocimiento al autor de estas transparencias. Parámetros Comunicación No se use con propósitos comerciales. con el modelo y la vista Se distribuya con la misma licencia. Referencias, Créditos y Texto de la licencia: http: Licencia //creativecommons.org/licenses/by-nc-sa/3.0/