La parole est aux speakers : Kevin BALICOT

Publié le

Jusqu’à l’AFUP Day 2024, retrouvez nos interviews de speakers pour mieux comprendre leur parcours et le sujet qu’ils ou elles aborderont lors de leur conférence !

La conférence

Attributs en PHP : un regard rétrospectif de la magie à l'adoption

Les attributs, autrefois connus sous le nom d'annotations, sont une fonctionnalité de longue date dans d'autres langages de programmation. Cependant, il a fallu attendre l'avènement de PHP 8 pour les voir intégrés nativement dans notre langage de prédilection. Comment est-on passé du suspicieux 'C'est de la magie' à une adoption native ?

Je vous invite à faire une rétrospective de cette évolution technologique : son histoire, son évolution, et surtout son application concrète dans Symfony. Enfin, j'aborderai les opportunités qu'offrent les attributs, ouvrant de nouvelles perspectives à travers des exemples de code.

C.P.E.
24/05/2024
09:20-10:00

Les annotations sont parfois adorées, parfois décriées. Pour toi, est-ce que les attributs ont mis (ou vont mettre) les devs d’accord ?

Les annotations ont et sont beaucoup critiquées, car reposent sur le principe de devoir interpréter des commentaires PHP pour ajouter du comportement. C’est le fameux « C’est trop magique ». Aujourd’hui PHP nous propose une version native au langage avec les attributs : à mon sens, il n’existe plus aucune raison de ne pas les utiliser.

D’après ton expérience, est-ce qu’il existe encore des obstacles au passage aux attributs ?

À part l’entêtement, non :p. Les attributs dans l’écosystème Symfony permettent de gagner en simplicité et nous dégagent de se rappeler comment configurer correctement nos services par exemple. Et puis des outils comme Rector permettent de passer des annotations aux attributs plus ou moins facilement.

Y a-t-il des bonnes pratiques autour des attributs ? Quelles sont les meilleures raisons pour les utiliser et au contraire dans quelles situations, il est préférable de les éviter ?

Un attribut doit ajouter du comportement sur quelque chose, une classe, une propriété ou une fonction. Mais il ne doit pas y avoir une notion de dépendance de l’un à l’autre, c’est à dire qu’une classe ne doit pas ne plus fonctionner parce qu’on enlève l’attribut par exemple. Un attribut ajoute de la métadonnée exploitable, mais ne doit pas être un contrat.

Lors de ma conférence, je présente des exemples d’utilisation d’attribut par Symfony ainsi que des exemples d’implémentation d’attribut personnalisé par mes soins.

Une conférence présentée par

Kevin BALICOT
Kevin BALICOT
Brasseur codeur, ~10 ans d'expérience, Backend, Frontend, et un peu Ops à travers PHP, JavaScript, Docker, Apache etc ... Kevin est passé par plusieurs boites, telles que Wanimo, PSIH, Dedi Agency et aujourd'hui Akawaka en tant que Lead Développeur. Il a fait de la vacation pendant 4 ans au DUT et IUT de Lyon 1 - Bourg en Bresse sur de la programmation, de l'admin système ou bien de la sécurité. Il s'est aussi essayé à la rédaction d'article technique sur son blog (https://boutdecode.fr/) et il s'ouvre actuellement sur l'architecture logicielle via le DDD, l'Hexa, clean code, CQRS, ADR ... Enfin, il est porte-étendard du mouvement lolcats via la création de http://cataas.com

Autres intervenants