J’ai déjà fait un article sur les tests unitaires, mais il s’agissait davantage d’une introduction. A présent, j’aimerais entrer dans le vif du sujet en proposant des cas concrets de tests unitaires avec PHPUnit. Ils seront liés à Symfony2/3 (entités,
Créer son propre paramConverter
En voilà une idée qui est bonne! Très honnêtement, cela m’est déjà arrivé, mais plutôt pour récupérer une liste et « vider » le contrôleur. Mais il arrive aussi que cela soit très utile si l’on veut que le comportement par défaut
Créer une annotation de contrôleur
Il arrive que l’on doive modifier des données à la volée (clef et ou valeur), mais rien ne correspond: un dataTransformer va bien me transformer la donnée, mais la clef transmise va rester la même. Dans un contrôleur, c’est vraiment
Utilisation du CompilerPass
Le compilerPass est extrêmement utile pour faire appel aux variables de l’environnement courant, bien entendu, mais aussi pour les services tagués. En effet, Symfony nous permet, lorsque le compilerPass s’exécute (après ceux de tous les autres bundles), d’appeler un service
Les dataTransformers
Il existe deux types de dataTransformers : les modelTransformers et les viewTransformers. Les premiers permettent de transformer la donnée modèle en donnée normalisée alors utilisable par la vue, et les seconds permettent de transformer la donnée normalisée en donnée vue. Les
Les accès concurrents et autres types de verrous
Les verrous, kesako? Les verrous… lorsque j’ai été la première fois confronté aux verrous, il a fallu que je comprenne exactement de quoi il s’agissait. Et la seule notion que l’on m’a présentée, c’étaient les sémaphores, en cours sur linux.
Mettre en place une API REST 3ème partie
A présent que nous avons une API REST basique, nous allons nous attaquer à la vue xml afin d’exposer ou non des champs. JMSSerializeBundle Ce bundle que nous avons déjà installé va nous permettre d’exposer les données en tant qu’xml
Mettre en place une API REST 2ème partie
A présent, récupérons une catégorie avec son id, en utilisant directement le type de l’entité (principe du ParamConverter pour directement binder son id avec le champ correspondant de la base et éviter de coder nous-mêmes le renvoi à une page
Mettre en place une API REST 1ère partie
De plus en plus, on assiste à une demande de développement d’API REST pour communiquer avec les mobiles, ou pour communiquer entre le front et le back. S’il est assez simple d’en coder une avec Symfony2 grâce au CRUD en
Securiser un backoffice et un frontoffice avec des providers différents
De manière générale, un backoffice se sécurise rapidement avec FosUserBundle, et c’est très bien ainsi, car on ne veut pas s’embêter à recoder tout un système d’authentification classique (login/rappel de mot de passe, changement de mot de passe etc) Mais,