SlideShare ist ein Scribd-Unternehmen logo
1 von 73
Symfony Parte 5 Rodrigo Miranda [email_address] [email_address] http://www.rodrigomiranda.cl
Rodrigo Miranda Blog: www.rodrigomiranda.cl Crear Módulos de la Aplicación
Rodrigo Miranda Blog: www.rodrigomiranda.cl ,[object Object],[object Object],[object Object]
Rodrigo Miranda Blog: www.rodrigomiranda.cl Módulos en aplicación Administrador ,[object Object],[object Object],#./symfony propel:generate-module administrador encuesta  Encuesta #./symfony propel:generate-module administrador grupo-pregunta GrupoPregunta
Rodrigo Miranda Blog: www.rodrigomiranda.cl ,[object Object],[object Object],[object Object],Módulos en aplicación Administrador
Rodrigo Miranda Blog: www.rodrigomiranda.cl ,[object Object],[object Object],[object Object],[object Object],Módulos en aplicación Administrador
Rodrigo Miranda Blog: www.rodrigomiranda.cl ,[object Object],[object Object],Módulos en aplicación Administrador
Rodrigo Miranda Blog: www.rodrigomiranda.cl ,[object Object],Módulos en aplicación Administrador
Rodrigo Miranda Blog: www.rodrigomiranda.cl Datos Iniciales, Prueba y de Usuarios
Rodrigo Miranda Blog: www.rodrigomiranda.cl ,[object Object],Módulos en aplicación Administrador
Rodrigo Miranda Blog: www.rodrigomiranda.cl ,[object Object],[object Object],[object Object],Módulos en aplicación Administrador
Rodrigo Miranda Blog: www.rodrigomiranda.cl ,[object Object],Módulos en aplicación Administrador
Rodrigo Miranda Blog: www.rodrigomiranda.cl YAML
Rodrigo Miranda Blog: www.rodrigomiranda.cl ,[object Object],[object Object]
Rodrigo Miranda Blog: www.rodrigomiranda.cl ,[object Object]
Rodrigo Miranda Blog: www.rodrigomiranda.cl ,[object Object]
Rodrigo Miranda Blog: www.rodrigomiranda.cl
Rodrigo Miranda Blog: www.rodrigomiranda.cl ,[object Object]
Rodrigo Miranda Blog: www.rodrigomiranda.cl
Rodrigo Miranda Blog: www.rodrigomiranda.cl Sintaxis:
Rodrigo Miranda Blog: www.rodrigomiranda.cl Arreglos Simples :
Rodrigo Miranda Blog: www.rodrigomiranda.cl Arreglos Asociativos :
Rodrigo Miranda Blog: www.rodrigomiranda.cl Crear algunos Datos Iniciales
Rodrigo Miranda Blog: www.rodrigomiranda.cl ,[object Object]
Rodrigo Miranda Blog: www.rodrigomiranda.cl Organizacion:     Modelo primer_elemento:     Etiqueta nombre único   etiqueta: Poodu     Columna  a llenar segundo_elemento: etiqueta: Conicyt tercer_elemento: etiqueta: Google data/fixtures/010_organizacion.yml
Rodrigo Miranda Blog: www.rodrigomiranda.cl TipoEncuesta:  primer_elemento:  etiqueta: Pregunta por Pregunta segundo_elemento: etiqueta: Sección por Sección tercer_elemento: etiqueta: Todos en Uno data/fixtures/020_tipoencuesta.yml
Rodrigo Miranda Blog: www.rodrigomiranda.cl ,[object Object]
Rodrigo Miranda Blog: www.rodrigomiranda.cl ,[object Object]
Rodrigo Miranda Blog: www.rodrigomiranda.cl ,[object Object],#./symfony propel:data-load
Rodrigo Miranda Blog: www.rodrigomiranda.cl
Rodrigo Miranda Blog: www.rodrigomiranda.cl Arquitectura MVC
Rodrigo Miranda Blog: www.rodrigomiranda.cl Antes:
Rodrigo Miranda Blog: www.rodrigomiranda.cl ,[object Object],MVC (Modelo – Vista – Controlador)
Rodrigo Miranda Blog: www.rodrigomiranda.cl MVC
Rodrigo Miranda Blog: www.rodrigomiranda.cl El MVC se aloja
Rodrigo Miranda Blog: www.rodrigomiranda.cl Layout
Rodrigo Miranda Blog: www.rodrigomiranda.cl ,[object Object]
Rodrigo Miranda Blog: www.rodrigomiranda.cl Solución Ineficiente
Rodrigo Miranda Blog: www.rodrigomiranda.cl Opción Eficiente
Rodrigo Miranda Blog: www.rodrigomiranda.cl Parte Importante de un Layout
Rodrigo Miranda Blog: www.rodrigomiranda.cl Hojas de estilos, imágenes y archivos JavaScript
Rodrigo Miranda Blog: www.rodrigomiranda.cl apps/miaplicacion/config/ view.yml
Rodrigo Miranda Blog: www.rodrigomiranda.cl
Rodrigo Miranda Blog: www.rodrigomiranda.cl Un subdirectorio CSS
Rodrigo Miranda Blog: www.rodrigomiranda.cl Agregando atributo media
Rodrigo Miranda Blog: www.rodrigomiranda.cl Acciones
Rodrigo Miranda Blog: www.rodrigomiranda.cl ,[object Object],[object Object],Acciones
Rodrigo Miranda Blog: www.rodrigomiranda.cl apps/administrador/modules/encuesta/actions/actions.class.php
Rodrigo Miranda Blog: www.rodrigomiranda.cl ,[object Object],Plantilla o templates
Rodrigo Miranda Blog: www.rodrigomiranda.cl apps/administrador/modules/encuesta/templates/ indexSuccess.php
Rodrigo Miranda Blog: www.rodrigomiranda.cl Revisamos códigos
Rodrigo Miranda Blog: www.rodrigomiranda.cl Petición y Respuesta
Rodrigo Miranda Blog: www.rodrigomiranda.cl ,[object Object],Petición y Respuesta
Rodrigo Miranda Blog: www.rodrigomiranda.cl ,[object Object]
Rodrigo Miranda Blog: www.rodrigomiranda.cl ,[object Object]
Rodrigo Miranda Blog: www.rodrigomiranda.cl ,[object Object]
Rodrigo Miranda Blog: www.rodrigomiranda.cl
Rodrigo Miranda Blog: www.rodrigomiranda.cl ,[object Object]
Rodrigo Miranda Blog: www.rodrigomiranda.cl ,[object Object]
Rodrigo Miranda Blog: www.rodrigomiranda.cl Sistema de Enrutamiento
Rodrigo Miranda Blog: www.rodrigomiranda.cl
Rodrigo Miranda Blog: www.rodrigomiranda.cl ‘ encuesta/show?id=‘ .$encuesta->getId() encuesta/show/id/1
Rodrigo Miranda Blog: www.rodrigomiranda.cl URI
Rodrigo Miranda Blog: www.rodrigomiranda.cl Configurando Enrutamiento
Rodrigo Miranda Blog: www.rodrigomiranda.cl ,[object Object]
Rodrigo Miranda Blog: www.rodrigomiranda.cl
Rodrigo Miranda Blog: www.rodrigomiranda.cl
Rodrigo Miranda Blog: www.rodrigomiranda.cl Personalizando el enrutamiento
Rodrigo Miranda Blog: www.rodrigomiranda.cl
Rodrigo Miranda Blog: www.rodrigomiranda.cl ,[object Object]
Rodrigo Miranda Blog: www.rodrigomiranda.cl URI abreviada
Rodrigo Miranda Blog: www.rodrigomiranda.cl Modificaciones al sistema.
Rodrigo Miranda Blog: www.rodrigomiranda.cl Preguntas?

Weitere ähnliche Inhalte

Ähnlich wie Symfony parte 6

Ähnlich wie Symfony parte 6 (20)

Symfony parte 6
Symfony parte 6Symfony parte 6
Symfony parte 6
 
Symfony parte 16
Symfony parte 16Symfony parte 16
Symfony parte 16
 
Symfony parte 13
Symfony parte 13Symfony parte 13
Symfony parte 13
 
Symfony Parte 2
Symfony Parte 2Symfony Parte 2
Symfony Parte 2
 
Symfony parte 7
Symfony parte 7Symfony parte 7
Symfony parte 7
 
Adentrándonos al Framework Symfony
Adentrándonos al  Framework SymfonyAdentrándonos al  Framework Symfony
Adentrándonos al Framework Symfony
 
Symfony parte 4
Symfony parte 4Symfony parte 4
Symfony parte 4
 
Php Bitter Sweet Symfony!
Php Bitter Sweet Symfony!Php Bitter Sweet Symfony!
Php Bitter Sweet Symfony!
 
Symfony Pruebas Unitarias
Symfony Pruebas UnitariasSymfony Pruebas Unitarias
Symfony Pruebas Unitarias
 
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
 
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
 
Symfony parte 17
Symfony parte 17Symfony parte 17
Symfony parte 17
 
Dynamics crm-es
Dynamics crm-esDynamics crm-es
Dynamics crm-es
 
Joomla
JoomlaJoomla
Joomla
 
Diseño web
Diseño webDiseño web
Diseño web
 
Symfony parte 18
Symfony parte 18Symfony parte 18
Symfony parte 18
 
Diseño web
Diseño webDiseño web
Diseño web
 
Arquitectura java web
Arquitectura java webArquitectura java web
Arquitectura java web
 
AOP - OSUM springperu(1era Reunion)
AOP - OSUM springperu(1era Reunion)AOP - OSUM springperu(1era Reunion)
AOP - OSUM springperu(1era Reunion)
 
Symfony
SymfonySymfony
Symfony
 

Mehr von Rodrigo Miranda

Mehr von Rodrigo Miranda (16)

Symfony Consultas Sql Criterion Hydrate
Symfony Consultas Sql Criterion  HydrateSymfony Consultas Sql Criterion  Hydrate
Symfony Consultas Sql Criterion Hydrate
 
Symfony Consultas Sql Criterion Hydrate
Symfony Consultas Sql Criterion  HydrateSymfony Consultas Sql Criterion  Hydrate
Symfony Consultas Sql Criterion Hydrate
 
Symfony Consultas Sql Criterion Hydrate
Symfony Consultas Sql Criterion  HydrateSymfony Consultas Sql Criterion  Hydrate
Symfony Consultas Sql Criterion Hydrate
 
Symfony parte 15 Consultas y Migración
Symfony parte 15 Consultas y MigraciónSymfony parte 15 Consultas y Migración
Symfony parte 15 Consultas y Migración
 
Symfony parte 14 Consultas SQL - Páginador
Symfony parte 14 Consultas SQL - PáginadorSymfony parte 14 Consultas SQL - Páginador
Symfony parte 14 Consultas SQL - Páginador
 
Symfony parte 12
Symfony parte 12Symfony parte 12
Symfony parte 12
 
Symfony parte 11 Formularios
Symfony parte 11 FormulariosSymfony parte 11 Formularios
Symfony parte 11 Formularios
 
Symfony parte 10
Symfony parte 10Symfony parte 10
Symfony parte 10
 
Symfony parte 9
Symfony parte 9Symfony parte 9
Symfony parte 9
 
Symfony parte 8
Symfony parte 8Symfony parte 8
Symfony parte 8
 
Symfony Parte 3
Symfony Parte 3Symfony Parte 3
Symfony Parte 3
 
Adentrándonos a PHP 5
Adentrándonos a PHP 5Adentrándonos a PHP 5
Adentrándonos a PHP 5
 
Introducción Nivelación PHP
Introducción Nivelación PHPIntroducción Nivelación PHP
Introducción Nivelación PHP
 
Ticnet Capacita en la Plataforma de Aprendizaje Moodle
Ticnet Capacita en la Plataforma de Aprendizaje MoodleTicnet Capacita en la Plataforma de Aprendizaje Moodle
Ticnet Capacita en la Plataforma de Aprendizaje Moodle
 
Ticnet capacita en Plataforma de Aprendizaje Moodle
Ticnet capacita en Plataforma de Aprendizaje MoodleTicnet capacita en Plataforma de Aprendizaje Moodle
Ticnet capacita en Plataforma de Aprendizaje Moodle
 
Ticnet Capacita en la Plataforma de Aprendizaje Moodle
Ticnet Capacita en la Plataforma de Aprendizaje Moodle Ticnet Capacita en la Plataforma de Aprendizaje Moodle
Ticnet Capacita en la Plataforma de Aprendizaje Moodle
 

Kürzlich hochgeladen

EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 

Kürzlich hochgeladen (11)

PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 

Symfony parte 6

Hinweis der Redaktion

  1. El nombre único es imprescindible para relacionar objetos entre sí, sin tener que definir claves primarías (que normalmente son valores que se auto-incrementan y por tanto, no se pueden establecer)
  2. El sf_content imprime el contenido generado por las acciones.
  3. Podríamos tener un config a nivel de proyecto, aplicaciones y modulos.
  4. En el código de la plantilla anterior, se emplea una sentencia foreach para recorrer la lista de objetos de tipo encuesta (almacenados en la variable $encuesta_list) y para cada oferta de trabajo, se muestra el valor de todas sus columnas. Para acceder al valor de cada columna, puedes utilizar un método generado automáticamente y que se construye uniendo la palabra get junto con el nombre de la columna en formato camelCase.
  5. Métodos de accesos públicos, puedo en las clases de las acciones crear métodos de accesos privados, pero recuerden que provienen de una petición.
  6. Métodos de accesos públicos, puedo en las clases de las acciones crear métodos de accesos privados, pero recuerden que provienen de una petición.
  7. Métodos de accesos públicos, puedo en las clases de las acciones crear métodos de accesos privados, pero recuerden que provienen de una petición.
  8. Métodos de accesos públicos, puedo en las clases de las acciones crear métodos de accesos privados, pero recuerden que provienen de una petición.
  9. Cuando accedes a la portada de, la URL es /encuesta, por lo que la primera ruta cuyo patrón coincide con la URL es default_index. En los patrones, cuando una palabra empieza por dos puntos (:) se considera que es una variable, por lo que el patrón /:module significa: cualquier URL que sea una barra / seguida de cualquier contenido. En este ejemplo, la variable module tendrá como valor la palabra encuesta. Después, este valor se puede obtener en la acción mediante $request->getParameter('module'). La ruta default_index también define un valor por defecto para la variable llamada action. Por tanto, cuando una URL cumple con el patrón de esta ruta, a la petición se le añade un parámetro llamado action que vale index. Si ahora accedes a la página /job/show/id/1, Symfony detecta que el patrón que se cumple es el de la última ruta /:module/:action/*. En los patrones, un asterisco (*) es equivalente a una sucesión de pares clave/valor separados por barras (/). Por tanto, la URL /job/show/id/1 se intepreta de la siguiente forma: