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/