Les bases de données savent gérer des colonnes JSON depuis des années déjà, et ces colonnes permettent d'accélérer le développement en simplifiant le code, les migrations et la maintenance.
Cependant, manipuler un array PHP n'est pas pratique : les analyseurs statiques de code sont perdus (à moins de spécifier énormément de chose via de la PHPDoc), PHP ne peut pas contrôler le type au runtime, mais surtout la lisibilité du code est réduite. En effet, à moins de lire tout le code, il est difficile de savoir quelles sont les clés obligatoires, lesquelles sont optionnelles, et enfin comment est typée la donnée.
À travers cette présentation, nous allons voir comment étendre Doctrine pour avoir le meilleur des deux mondes : des colonnes en JSON, et des objets PHP fortement typés.