46 liens privés
Cet article fait partie de ceux listés dans https://schlitt.info/blog/0784_best_of_posts_for_engineers.html
L'auteur explique en quoi l'utilisation des traits en PHP pose problème, ceux ci étant "statiques" par essence -> Il est impossible d'altérer le fonctionnement d'une des méthodes du trait pour l'un de ses utilisateurs. Au contraire, en utilisant une interface, on peut choisir la classe implémentant le comportement dont on a besoin (dispatch dynamique)
Tout est dans le titre
Un article intéressant, sur PHP, dans lequel l'auteur explore différentes pistes relatives au typage de données récupérées de l'extérieur (bdd, api, etc.)
Il finit par proposer un Trait avec plusieurs méthodes privées utilitaires du style "getInt(array $data, string $key)"
Tout est dans le titre
Tout est dans le titre, sauf que ça concerne PHP
Tout à fait d'accord avec l'auteur :-)
L'auteur souhaite regrouper dans des traits certains comportements communs de quelques tests (utiliser la version la plus récente de la base de données en invoquant des migrations, rendre disponible l'injecteur de dépendances pour ses tests d'intégration) PHPUnit propose une annotation @before qui a l'air de rendre ce service.
L'utilisation des Traits permet de réduire grandement la taille des entités Symfony2, pour peu qu'elles partagent des attributs communs. Ici l'auteur montre comment ajouter simplement un comportement "Timestampable" à des entités Article et Commentaire pour un blog.
Les interfaces et les traits en PHP 5.4 : utilisation