En las aplicaciones web, las operaciones de acceso a los datos se pueden clasificar en una de las siguientes categorías:
- Insertar un registro creation, en inglés)
- Obtener registros retrieval, en inglés)
- Modificar un registro o alguna de sus columnas update, en inglés)
- Borrar un registro deletion, en inglés)
Como estas operaciones son tan comunes, se ha creado un acrónimo para referirse a todas ellas: CRUD (por las iniciales de sus nombres en inglés). Muchas páginas se reducen a alguna de esas operaciones. En un foro por ejemplo, el listado de los últimos mensajes es una operación de obtener registros y responder a un mensaje se corresponde con la opción de insertar un registro.
En muchas aplicaciones web se crean continuamente acciones y plantillas que realizan las operaciones CRUD para una determinada tabla de datos. En Symfony, el modelo contiene la información necesaria para poder generar de forma automática el código de las operaciones CRUD, de forma que se simplifica el desarrollo inicial de la parte de administración de las aplicaciones.
14.1.1. Modelo de datos de ejemplo
A lo largo de este capítulo, los listados de código muestran las posibilidades del generador de administraciones de Symfony mediante un ejemplo sencillo, similar al utilizado en el Capítulo 8. Se trata de la típica aplicación para crear un blog, que contiene las clases Article
y Comment
. El listado 14-1 muestra el esquema de datos y la figura 14-1 lo ilustra.
Listado 14-1 - Archivo schema.yml
de la aplicación de ejemplo
propel:
blog_article:
_attributes: { phpName: Article }
id:
title: varchar(255)
content: longvarchar
created_at:
blog_comment:
_attributes: { phpName: Comment }
id:
article_id:
author: varchar(255)
content: longvarchar
created_at:
La generación de código no impone ninguna regla o restricción a la creación del esquema. Symfony utiliza el esquema tal y como se ha definido, interpreta sus atributos y genera la parte de administración de la aplicación.
Truco Para aprovechar al máximo este capítulo, deberías hacer todos los ejemplos que se incluyen. Si se realizan todos los pasos descritos en los listados de código, se obtiene un mejor conocimiento de lo que genera Symfony y de lo que se puede llegar a hacer con el código generado. La recomendación es que crees una estructura de datos como la descrita anteriormente para crear una base de datos con las tablas blog_article
y blog_comment
, rellenándolas con datos de prueba.