Antes o después, algún proyecto deberá modificar el comportamiento de Symfony. Sea una modificación del comportamiento de una clase o sea una nueva característica que hay que añadir al framework, el momento en el que es necesario modificar Symfony llegará de forma inevitable, ya que todos los clientes para los que se desarrollan aplicaciones tienen requerimientos muy específicos que ningún framework puede predecir.
De hecho, como esta situación es tan común, Symfony dispone de un mecanismo llamado mixin para extender y modificar las clases existentes. Incluso es posible reemplazar las clases del núcleo de Symfony por clases propias, utilizando las opciones de las factorías utilizadas por Symfony (las factorías se basan en el patrón de diseño "factories"). Una vez realizadas las modificaciones, se pueden encapsular en forma de plugin para poder reutilizarlas en otras aplicaciones o por parte de otros programadores de Symfony.