En el capítulo 9 nos dedicamos a configurar el administrador de nuestro sitio. Con este administrador tenemos la posibilidad de crear nuestras conferencias y comentarios desde una página de administración del sitio, que más adelante nos encargaremos de agregar seguridad mediante usuario y clave de acceso.

En ese capítulo habíamos hablado, que la propiedad de la fecha de creación de los comentarios de una conferencia la estamos agregando manualmente, pero la idea es que esta fecha se agregue automáticamente. Esto lo podemos hacer gracias a que doctrine tiene un concepto llamado ciclo de vida de los entities. Este ciclo de vida nos permite manipular las propiedades de estos objetos y sus valores para actualizar en las tablas antes o después de insertar, actualizar o eliminar las filas.

Para esto también existe un proyecto llamado DoctrineExtensions y un bundle muy conocido para integrarlo que nos permite entre sus utilidades más importantes crear automáticamente las columnas para auditoría generalmente conocidas como fecha de alta y de modificación y usuario de alta y modificación. También nos permite generar slugs, auditorías completas de las acciones sobre los registros, borrado lógico de registros y toda la base para sitios multi-idiomas. 

Como este libro se basa en Symfony, vamos a ver cómo nosotros podemos crear la columna de la fecha de creación de los comentarios con las herramientas de bajo nivel, así como también la creación de las columnas para los slugs de las conferencias. De todas formas, te dejo en la descripción los enlaces al proyecto de DoctrineExtensions y si te interesa conocer más sobre esta librería, hacémelo saber en los comentarios.

Para resumir lo que vimos hoy. Primeramente vimos como usar callbacks para cosas sencillas, como fue la asignación de una fecha de forma automática para almacenar cuando fue creada una conferencia

Y en segundo lugar, vimos como hacer esto, cuando necesitamos de un objeto externo para lograr nuestro objetivo, como sería el caso del objeto Slugger que nos da la funcionalidad de crear un slug sin tener que hacerlo a mano nosotros.

Quiero que tengan en cuenta algo. Les vuelvo a repetir, que existe un proyecto llamado DoctrineExtensions, que nos permite hacer estas dos cosas de forma más sencilla, pero este capítulo tiene como finalidad, explicar cómo funcionan los callbacks en symfony, para lo que estos dos ejemplo encajan perfecto, y nos sirve para saber como hacer uso de esto cuando lo necesitemos.

En el siguiente video vamos a hablar sobre los formularios y cómo dejan de ser un concepto meramente gráfico para solicitar información a los usuarios, permitiendo que tengan una especie vida propia o dicho de otra forma, tengan encapsulada su propia lógica para realizar su función.

Otros artículos de esta serie

  1. Lista de reproducción en nuestro canal de Youtube
  2. Symfony 5: La Vía Rápida | Paso 1 – Revisando tu entorno de trabajo
  3. Symfony 5: La Vía Rápida | Paso 2 – Presentando el proyecto
  4. Symfony 5: La Vía Rápida | Paso 3 – Desde cero hasta producción
  5. Symfony 5: La Vía Rápida | Paso 4 – Git, composer y Symfony Flex
  6. Symfony 5: La Vía Rápida | Paso 5 – Solucionando problemas
  7. Symfony 5: La Vía Rápida | Paso 6 – Creando nuestra primera página
  8. Symfony 5: La Vía Rápida | Paso 7 – Creando una base de datos con docker
  9. Symfony 5: La Vía Rápida | Paso 8 – Definiendo la estructura de datos
  10. Symfony 5: La Vía Rápida | Paso 9 – Configurando el panel de administración
  11. Symfony 5: La Vía Rápida | Paso 10 – Construyendo la interfaz de usuario
  12. Symfony 5: La Vía Rápida | Paso 11 – Almacenando las sesiones en redis
  13. Symfony 5: La Vía Rápida | Paso 12 – Escuchado eventos (events and subscribers)
  14. Symfony 5: La Vía Rápida | Paso 13 - Gestionando el ciclo de vida de los objetos de doctrine

Deja un comentario