- Capítulo 1. Comenzando el proyecto
- 1.2. El desafío
- 1.3. Este tutorial es diferente
- 1.4. El proyecto
- 1.5. ¿Que haremos hoy?
- 1.6. Prerrequisitos
- 1.7. Instalación de Symfony
- 1.8. Preparar el proyecto
- 1.9. Los entornos
- 1.10. Configurar mal el servidor web
- 1.11. Configurar correctamente el servidor web
- 1.12. Subversion
- 1.13. Nos vemos mañana
- Capítulo 2. El proyecto
- 2.1. La idea del proyecto
- 2.2. Los escenarios del proyecto
- 2.3. Nos vemos mañana
- Capítulo 3. El modelo de datos
- 3.1. El modelo relacional
- 3.2. El esquema
- 3.3. La base de datos
- 3.4. El ORM
- 3.5. Los datos iniciales
- 3.6. Probando la aplicación en el navegador
- 3.7. Nos vemos mañana
- Capítulo 4. El controlador y la vista
- 4.1. La arquitectura MVC
- 4.2. El layout
- 4.3. Las hojas de estilo, imágenes y archivos JavaScript
- 4.4. La portada del módulo de las ofertas de trabajo
- 4.5. La plantilla de la página de una oferta de trabajo
- 4.6. Slots
- 4.7. La acción de la página de una oferta de trabajo
- 4.8. La petición y la respuesta
- 4.9. Nos vemos mañana
- Capítulo 5. El sistema de enrutamiento
- 5.1. URLs
- 5.2. Configurando el enrutamiento
- 5.3. Personalizando el enrutamiento
- 5.4. Requisitos
- 5.5. La clase sfRoute
- 5.6. La clase para las rutas basadas en objetos
- 5.7. Enrutamiento en acciones y plantillas
- 5.8. La clase para las colecciones de rutas
- 5.9. Depurando las rutas
- 5.10. Rutas por defecto
- 5.11. Nos vemos mañana
- Capítulo 6. Profundizando en el modelo
- 6.1. El objeto Criteria de Propel
- 6.2. Depurando las sentencias SQL generadas por Propel
- 6.3. Serializando objetos
- 6.4. Profundizando en los archivos de datos
- 6.5. Personalizando la configuración
- 6.6. Refactorizando
- 6.7. Mostrando las categorías en la portada
- 6.8. Limitando los resultados
- 6.9. Archivos de datos dinámicos
- 6.10. Restringiendo el acceso a la página de una oferta de trabajo
- 6.11. Enlazando a la página de la categoría
- 6.12. Nos vemos mañana
- Capítulo 7. Trabajando con la página de cada categoría
- 7.1. La ruta de la categoría
- 7.2. El enlace a la página de la categoría
- 7.3. Creando el módulo de las categorías
- 7.4. Actualizando la base de datos
- 7.5. Elementos parciales
- 7.6. Paginación
- 7.7. Nos vemos mañana
- Capítulo 8. Pruebas unitarias
- 8.1. Pruebas en Symfony
- 8.2. Pruebas unitarias
- 8.3. El framework de pruebas lime
- 8.4. Ejecutando pruebas unitarias
- 8.5. Probando el método slugify
- 8.6. Añadiendo pruebas para las nuevas características
- 8.7. Añadir pruebas al corregir un error
- 8.8. Pruebas unitarias para Propel
- 8.9. Conjuntos de pruebas unitarias
- 8.10. Nos vemos mañana
- Capítulo 9. Pruebas funcionales
- 9.1. Pruebas funcionales
- 9.2. La clase sfBrowser
- 9.3. La clase sfTestFunctional
- 9.4. Ejecutando pruebas funcionales
- 9.5. Datos de prueba
- 9.6. Escribiendo pruebas funcionales
- 9.7. Aprendiendo con un ejemplo
- 9.8. Depurando las pruebas funcionales
- 9.9. Conjuntos de pruebas funcionales
- 9.10. Conjuntos de pruebas
- 9.11. Nos vemos mañana
- Capítulo 10. Los formularios
- 10.1. El framework de formularios
- 10.2. Formularios
- 10.3. Formularios de Propel
- 10.4. La página de previsualización
- 10.5. Activando y publicando las ofertas de trabajo
- 10.6. Nos vemos mañana
- Capítulo 11. Probando los formularios
- 11.1. Enviando un formulario
- 11.2. El tester de formularios
- 11.3. Probando la redirección
- 11.4. El tester de Propel
- 11.5. Probando la existencia de errores
- 11.6. Indicando el método HTTP de un enlace
- 11.7. La seguridad que te dan las pruebas
- 11.8. Regresando al futuro en una prueba
- 11.9. Seguridad de los formularios
- 11.10. Tareas de mantenimiento
- 11.11. Nos vemos mañana
- Capítulo 12. El generador de la parte de administración
- 12.1. Creando la aplicación backend
- 12.2. Los módulos de la aplicación backend
- 12.3. El aspecto de la aplicación backend
- 12.4. La cache de Symfony
- 12.5. La configuración de la aplicación backend
- 12.6. Configuración del título
- 12.7. Configuración de los campos
- 12.8. Configuración de la página list
- 12.9. Configuración de la página de formularios
- 12.10. Configuración de los filtros
- 12.11. Modificando las acciones
- 12.12. Personalizando las plantillas
- 12.13. Configuración final
- 12.14. Nos vemos mañana
- Capítulo 13. El usuario
- 13.1. Mensajes flash
- 13.2. Atributos del usuario
- 13.3. La seguridad de la aplicación
- 13.4. Plugins
- 13.5. La seguridad de la aplicación backend
- 13.6. Probando a los usuarios
- 13.7. Nos vemos mañana
- Capítulo 14. El día de descanso
- 14.1. Aprendiendo con la práctica
- Capítulo 15. Canales Atom
- 15.1. Formatos
- 15.2. Canales Atom
- 15.3. Nos vemos mañana
- Capítulo 16. Servicios web
- 16.1. Los afiliados
- 16.2. Probando los servicios web
- 16.3. El formulario para darse de alta como afiliado
- 16.4. Administrando los afiliados
- 16.5. Enviando emails
- 16.6. Nos vemos mañana
- Capítulo 17. El buscador
- 17.1. La tecnología
- 17.2. Indices
- 17.3. Búsquedas
- 17.4. Pruebas unitarias
- 17.5. Tareas
- 17.6. Nos vemos mañana
- Capítulo 18. AJAX
- 18.1. Instalando jQuery
- 18.2. Incluyendo jQuery
- 18.3. Añadiendo los comportamientos
- 18.4. Informando al usuario
- 18.5. AJAX en las acciones
- 18.6. Probando AJAX
- 18.7. Nos vemos mañana
- Capítulo 19. Internacionalización y localización
- 19.1. El usuario
- 19.2. Incluyendo la cultura en la URL
- 19.3. Probando la cultura
- 19.4. Cambiando de idioma
- 19.5. Internacionalización
- 19.6. Localización
- 19.7. Nos vemos mañana
- Capítulo 20. Plugins
- 20.1. Plugins
- 20.2. Estructura de archivos de los plugins
- 20.3. El plugin Jobeet
- 20.4. Utilizando los plugins
- 20.5. Publicando tu plugin
- 20.6. Nos vemos mañana
- Capítulo 21. El día del diseño
- Capítulo 22. La cache
- 22.1. Creando un nuevo entorno
- 22.2. Configurando la cache
- 22.3. Guardando páginas en la cache
- 22.4. Borrando la cache
- 22.5. Guardando acciones en la cache
- 22.6. Guardando elementos parciales y componentes en la cache
- 22.7. Guardando formularios en la cache
- 22.8. Borrando la cache
- 22.9. Probando la cache
- 22.10. Nos vemos mañana
- Capítulo 23. Pasando a producción
- 23.1. Preparando el servidor de producción
- 23.2. Las librerías de Symfony
- 23.3. Ajustando la configuración
- 23.4. Modificando la estructura de directorios
- 23.5. Las factorías
- 23.6. Instalando aplicaciones
- 23.7. Nos vemos mañana
- Capítulo 24. Un repaso a Symfony
- 24.1. ¿Qué es Symfony?
- 24.2. El modelo
- 24.3. La vista
- 24.4. El controlador
- 24.5. Configuración
- 24.6. Depuración
- 24.7. Los principales objetos de Symfony
- 24.8. Seguridad
- 24.9. Formularios
- 24.10. Internacionalización y localización
- 24.11. Pruebas
- 24.12. Plugins
- 24.13. Tareas
- 24.14. Agradecimientos
- 24.15. Nos vemos pronto
El tutorial Jobeet
Escrito por Fabien Potencier · Traducido por Javier Eguiluz