Book Image

Extending Symfony2 Web Application Framework

By : Sebastien Armand
Book Image

Extending Symfony2 Web Application Framework

By: Sebastien Armand

Overview of this book

Table of Contents (13 chapters)

Creating a Doctrine filter


With the two types of extensions we already saw, a lot can be done. We could create an extension that notifies us whenever an entity has been updated, by whom, or create URL-friendly names for entities. We know how to deal with entity versions; we could even extend that behavior to save all the previous versions of an entity and maintain a record history. Some behaviors, though, can still not be achieved with what we have seen.

If we want, we can create a soft delete, or ensure automatically that all database queries include user_id so that a user can see only data that belongs to them. In the latter case, we will be able to easily add a value to a user_id field on any entity before it is persisted, but while retrieving entities through a SQL query, we still need to remember to add the user_id = "123" value every time we write a query. This is likely to be forgotten, and that can cause some big issues, because your app will start to leak data from one user to another...