Microframework de symfony 2

symfony_logo

Cela a peut-être échappé à certaines personnes, la version 2.8 offre la possibilité d’utiliser Symfony 2 en tant que microframework.

La version standard contient tout un lot de bundles déjà enregistrés dans le fichier AppKernel,  ainsi que toute une configuration à faire.

Si je vous disais qu’une application peut être fonctionnelle avec un seul fichier, seuls les bundles utiles seront installés et nous plus installés à l’avance.

Création d’une contrainte de validation personnalisée sous symfony 2

symfony_logo

On utilise quasiment à chaque fois lors la création de nos entités ou de nos formulaires  des contraintes déjà fournies par le framework, voici une liste non exhaustive :

  • NotBlank : permet de garantir un champ rempli
  • Email : permet la validité d’une adresse email
  • Length : Taille requise
  • ……

Pour voir la liste complète des contraintes déjà existante je vous invite à aller dans le dossier :

/vendor/symfony/validator/constraints

Il nous arrive tous de vouloir mettre une contrainte sur un champ de formulaire ou sur une entité qui malheureusement n’existe pas car le framework ne peut pas tout prévoir ou tout imaginer.

Nous allons donc créer notre propre contrainte personnalisée afin de répondre à ce manque.

PSR-7 et Symfony

logo_php

Début Mai 2015, la communauté PHP acceptait la norme PSR-7 appelée "HTTP message interfaces", nous donnant ainsi une façon commune de concevoir les messages HTTP.

Il s'agit d'une importante avancée vers une meilleure standardisation et interopérabilité en PHP, ceci plus particulièrement pour les middlewares (des bibliothèques qui s'intègrent entre une requête et une réponse HTTP). Dans le futur, un middleware qui sera écrit autour de ces nouvelles interfaces pourra être utilisé dans n'importe quel framework.