Introducción
- Por qué escribo este libro
- Qué vas a aprender
- A quién está dirigido
- Cómo se divide el libro
- Nota del autor
Capítulo 1: instalación y configuración
- El instalador de Symfony
- Composer
- Base de datos MySQL
- Los permisos de escritura
- El servidor web
- Entorno de desarrollo
- Truco 1
- Resumen
Capítulo 2: los bundles de terceros
- Buscando nuestro bundle
- Instalando un nuevo bundle
- Truco 2
- Resumen
Capítulo 3: Admin Bundle
- Instalando el Admin Bundle
- Creando nuestra Admin Class
- Truco 3
- Otras posibilidades
- Resumen
Capítulo 4: User Bundle
- Instalando User Bundle
- Creando la estructura de usuarios
- Creando nuestro usuario admin
- Truco 4
- Resumen
Capítulo 5: MopaBootstrap
- Instalando MopaBootstrapBundle
- Preparando la plantilla base
- Truco 5
- Resumen
Capítulo 6: Gulp (1)
- Instalación
- Creando nuestro primer SCSS
- Minificando nuestro CSS
- Autoprefixer
- Gulp watch
- Tarea por defecto
- Truco 6
- Resumen
Capítulo 7: Assetic con JavaScript
- Instalación
- Configuración
- Minificando nuestro JavaScript
- Recomendaciones
- Truco 7
- Resumen
Capítulo 8: ejemplo completo
- El flujo de la aplicación
- Creando la ruta
- Creando el método action
- Nuestra propia home
- El carrusel de imágenes
- Los claims
- Formulario de contacto
- Enviando un email
- Truco 8
- Resumen
Capítulo 9: Doctrine Extensions
- Instalación
- Filtro timestampable
- Filtro slugabble
- Filtro softdeleteable
- Otros filtros
- Truco 9
- Resumen
Capítulo 10: LiipImagineBundle
- Instalación
- Configuración
- Uso con Twig
- Uso con PHP
- Truco 10
- Resumen
Capítulo 11: otros bundles
- EWZRecaptchaBundle
- AcceleratorCacheBundle
- FOSRestBundle
- NelmioApiDocBundle
- DoctrineFixturesBundle
- DoctrineMigrationsBundle
- FOSJSRoutingBundle
- HWIOAuthBundle
- KnpSnappyBundle
- JMSTranslationBundle
- Truco 11
- Conclusión
Capítulo 12: Gulp (2)
- Sass Lint
- JSCS
- PHP CS
- PHP CBF
- Ejecutar comandos PHP
- Truco 12
- Conclusión
Capítulo 13: configuración adicional de Symfony
- ParamConverter
- Plantilla sin controller
- Redireccionamientos sin controller
- Dump autoload
- Hide logs
- Enviar errores 500 por email
- Configuración para PhpStorm
- Sacando las sesiones a otra carpeta
- Truco 13
- Conclusión
Capítulo 14: modificando SonataUserBundle
- Modificando FOSUserBundle
- Sobrescribiendo las plantillas
- Sobrescribiendo los controladores
- Modificando el login y el registro
- Modificando el registro (2) y los emails
- Otras modificaciones
- Truco 14
- Conclusión
Capítulo 15: despliegue
- Magallanes
- Ansible
- Capifony
- Capistrano
- Desplegando con capistrano-symfony
- Capistrano-symfony: resultado final
- Truco 15
- Conclusión
Capítulo 16: testing
- ¿Qué es eso del testing? ¿Me sirve eso a mí?
- TDD vs BDD
- Herramientas de testing en PHP
- Integración continua
- Truco 16
- Conclusión
Epílogo
- Bower
- Gassetic
- Gulp con JavaScript
- PostCSS
- Desarrollos hechos con Symfony
- DDD
- Si te ha gustado
- Agradecimientos al lector
