Symfony: tutoriales de iniciación

Dejo aquí un repaso guiado sobre las principales herramientas que nos proporciona Symfony. He usado Symfony 4, Symfony Flex, en estos tutoriales ya que acaba de publicarse. Ahora con Symfony Flex podemos prescindir de la mayoría de componentes para arrancar un proyecto nuevo. Esto lo hace más sencillo para iniciarse, para arrancar con cada nuevo proyecto, y también los proyectos corren más rápido y son más ligeros..

Herramientas para desarrollar en SymfonySymfony: tutorial 0: preparando el espacio de trabajo

Como buen apasionado del desarrollo de aplicaciones web, estaba espectante esperando la nueva versión de Symfony 4. Ahora tenemos una nueva versión orientada a microservicios, en la que te vas construyendo tu propio framework poco a poco, con los componentes que necesites. Esto quiere decir que no te instalas el framework completo cuando empiezas a trabajar, sino que poco a poco vas añadiendo los componentes. Gracias a Composer vas acoplando los componentes, ya sean del propio Symfony, o sean componentes externos al framework. Esto hace a su vez que la curva de aprendizaje no sea tan pronunciada para los novatos.. seguir leyendo

Symfony 1 el enrutamientoSymfony: tutorial 1: extendiendo el ¡hola mundo! y el enrutador de URLs

En este segundo tutorial sobre Symfony, dejo aquí explicado cómo se cargan las URLs. Para esto, tenemos aquí este clásico tutorial al estilo de ¡Hola Mundo! un poco azucarado. Lo primero en lo que hay que pensar son los puntos de entrada a la web: qué URLs vamos a tener y de qué forma, qué prefijos y sufijos van a tener, cómo se va a dividir la web desde el punto de vista del visitante que va viendo las URLs.

Todo esto es lo que llamaremos el enrutamiento de la web. Es decir, todas las URLs de entrada a la web pasan por un enrutador. Este enrutamiento se encargará de saber lo que tiene que hacer, llevando la visita al controlador que corresponda para hacer lo que tenga que hacer, y devolver al visitante la respuesta con la página que corresponda.. seguir leyendo

Symfony: tutorial 2: los comandos de consolaSymfony Flex comandos

Una respuesta a porqué Symfony es tan productivo son los comandos de consola. Si alguien dice que usar Symfony es reinventar la rueda, que siempre es mejor modificar un CMS.. es que no sabe de lo que está hablando, y lo que se está perdiendo.

Con simples comandos podemos crear un proyecto nuevo, añadir nuevos componentes, lanzar un servidor de pruebas, chequear las URLs, crear entidades que vamos a guardar en base de datos, probar el envío de emails. También podemos modificar las tablas de datos, añadir nuevos elementos, editar los existentes, actualizar la base de datos, preparar nuevos elementos para almacenar, generar pantallas de listado de datos, ediciones de datos, borrados o creaciones. Generamos formularios automáticamente, con recepción de sus datos y guardado de dichos formularios en bases de datos. Podemos importar una base de datos de otro proyecto, generando todo el código fuente de una aplicación web que consulte los datos de dicha BD en apenas un rato. Podemos crear controladores, estructurando todas las zonas de la web, con sus plantillas, rutas, y URLs en poco tiempo. Y mucho más.. seguir leyendo

Symfony: tutorial 3: los modelos, entidades

Symfony tutorial 3 DoctrineRecorriendo todas las funcionalidades de Symfony Flex, traigo de nuevo otro HOWTO para trabajar con el guardado de los datos. Symfony basa el guardado de los datos, la persistencia de los datos, en Doctrine. Es decir, tenemos un módulo llamado Doctrine, mejor dicho varios, que te independizan de la base de datos añadiendo una capa intermedia entre los controladores, plantillas, servicios.. de tu aplicación Symfony y la base de datos. En esta capa intermedia se definen lo que se llaman entidades, y Doctrine se encarga de hacer todo.. seguir leyendo

Symfony: tutorial 4: el día a día con las bases de datos

Symfony4 Doctrine MigrationsOtra vez más traigo de nuevo otro HOWTO, esta vez trabajando día a día con bases de datos en Symfony Flex, Symfony 4. En el tutorial anterior empecé con cómo empezar a crear una base de datos. Ahora lo extiendo ya que trabajar con la base de datos es un tema muy extenso.

En este minitutorial me centro más en cómo modificar la base de datos, cómo es el día a día. Cómo desplegar estos cambios en producción sin temor a dejar sin servicio todo el sistema por haber hecho un cambio inesperado. Es importante que tengas un plan B por si lo último modificado rompe producción, y así puedas hechar atrás los últimos cambios de la base de datos.. seguir leyendo

Symfony: tutorial 5: los controladores

Symfony tutorial controladoresExtendiendo el tutorial 1 sobre enrutamiento anterior, seguimos hoy con los controladores, un paso más allá. En Symfony Flex, Symfony 4, se ha mejorado de nuevo otra de sus herramientas, el enrutamiento. Todo el enrutamiento se configura dentro de los controladores con las últimas versiones. Todo, URLs, parámetros, tipo de petición, se puede ya configurar dentro de los mismos ficheros de controladores. Esto es realmente cómodo en el día a día.

Además, estas últimas versiones del enrutador de Symfony, según rankings independientes a Symfony, disponemos de un enrutamiento 75 veces más rápido que en la versión anterior. Es el enrutador PHP más rápido que hay, de nuevo, otro referente en este mundillo.. seguir leyendo

Symfony: tutorial 6: las vistas

Symfony tutorial templatingRecordando mientras que nos actualizamos con Symfony, traigo aquí otro code-kata o howto, esta vez, sobre plantillas. El sistema de plantillas de Symfony Flex, Symfony 4, desde hace tiempo que se basa en Twig. Es una de las mejoras cosas que le han pasado al mundo del PHP con respecto al desarrollo del frontend. Twig viene a añadir una sintaxis nueva: una serie de instrucciones a las plantillas: extends, block, for, if, etcétera..

Por un lado, Twig simplifica mucho el código fuente, queda mucho más limpio. Si eres un frontender, o un desarrollador web, te hará la vida mucho más fácil cuando te pongas a escribir códigos fuentes. Por otro lado, te ayuda a reutilizar las plantillas, no teniendo nunca que repetir el mismo código en plantillas distintas. Si estás repitiendo un código en una plantilla Twig, es que hay que refactorizar y reutilizar.. seguir leyendo

Symfony: tutorial 7: depurando todo con lupa, el profiler

Symfony web profilerEn este post traigo una review del perfilador de Symfony Flex, Symfony 4, el profiler. Es una gran herramienta de desarrollo web que nos brinda Symfony. Podemos ver muchos datos internos de cómo funciona todo por dentro: la petición y respuesta, rendimiento, envío de formularios, validaciones, datos de las excepciones, logs… pasando por Doctrine, enrutamiento..

Es decir, con el perfilador, cuando vayamos construyendo la aplicación web, tendremos una cantidad ingente de información para arreglar o mejorar todo. Podemos investigar con lupa todos los entresijos de lo que ocurre desde que se hace la petición desde el navegador del visitante, hasta que el servidor ha procesado la respuesta, construyéndola y devolviendo al mismo navegador dicha respuesta para que se pinte.. seguir leyendo

Symfony: tutorial 8: los assets

Symfony AssetsOtro día más, otro post más, ahora repasando en Symfony 4 cómo incluimos los ficheros en las páginas web. A saber, los assets son los ficheros CSS, Javascript e imágenes que usamos en el front-end. Ahora se ha simplificado un poco más todo el manejo de éstos.

Podemos evitarnos el cacheado en los navegadores dándoles un número o nombre de versión a todos los assets. Así con cada despliegue, configuramos un número nuevo de versión de assets, y se le añadirá la coletilla a los ficheros assets incluidos en toda la web. Esto forzará a los navegadores a descargarse la nueva versión de estos assets.. seguir leyendo

Symfony: tutorial 9: los entornos, y las configuraciones

Symfony entornos y configuracionesContinuando con el repaso de Symfony 4, Symfony Flex, sigo con las configuraciones y entornos de ejecución. Como buena estrategia de desarrollo, tenemos que tener presente el establecer varios entornos en los que vamos a trabajar en los proyectos sobre Symony. Es decir, por defecto, Symfony te invita a usar 3 entornos:

  • Desarrollo, cuyo nombre en clave es dev, del inglés develop.
  • Pruebas, cuyo nombre es test, que podemos correr en local o en un entorno con CI y CD.
  • Producción, con nombre en clave prod, que será en el servidor en Internet, aunque podemos simularlo en local también.

Seguir leyendo

Symfony: tutorial 10: los servicios, la inyección de dependencias

Symfony: tutorial 11: los formularios

Symfony: tutorial 12: los emails

Symfony: tutorial 13: enganchándonos a los eventos

Symfony: tutorial 14: navegando, el DomCrawler y el BrowserKit

Symfony: tutorial 15: los tests automáticos, funcionales y unitarios

Symfony: tutorial 16: la seguridad

Symfony: tutorial 17: las variables de sessión

Symfony: tutorial 18: trabajando con el sistema operativo, Process

Symfony: tutorial 19: Internacionalizando, el Locale

Symfony: tutorial 20: terminando y algunos bundles interesantes

Compartir..