Slim est, comme son nom le laisse supposer, un micro-Framework très léger écrit en PHP et dont la particularité est de se focaliser dans la simplification des APIs et des routines HTTP. Son objectif est simple : permettre de traiter des requêtes HTTP, d’appeler les sous-routines adéquates pour obtenir les données ou effectuer des opérations singulières, et renvoyer une réponse à l’appelant avec les informations demandées.
Bien loin des Framework complexes comme Symfony ou Laravel, Slim se concentre sur l’essentiel et son fonctionnement peut être compris en l’espace d’une journée pour toute personne qui dispose des bases en PHP, programmation et API Web. Récemment, une nouvelle version est sortie, la 4.7.0, avec quelques fonctionnalités intéressantes pour les développeurs et concepteurs de site Internet.
Parmi les principales nouveautés de Slim 4.7.0, notons le support officiel pour 8 PHP. Compte tenu des évolutions apportées par 8 PHP en termes de facilité de programmation orientée objet et sur tout ce qui a trait à la déclaration des instructions de classe, il s’agit d’une avancée majeure pour ce micro Framework.
Les autres fonctionnalités ou corrections apportées concernent la fonctionnalité de tests aléatoires (nouvelle instruction) et une correction sur le dispatcher Fastroute et la génération de données. Ces évolutions peuvent sembler minimales, mais indispensables pour les développeurs d’API PHP ou les concepteurs de sites Internet.
Ce Micro-Framework est avant tout un accélérateur pour les développements en proposant des kits, des API et des classes réutilisables pour tout ce qui est traitement des requêtes HTTP et la gestion des protocoles réseau. C’est aussi un socle prévu pour être interopérable, personnalisable et adaptable à d’autres composants PHP. Autour de Slim, on trouve des composants comme Slim-Csrf, Slim-HttpCach ou Slim-Flash pour traiter la problématique de protocoles particuliers et faciliter l’intégration au sein d’une solution. Plus besoin de coder les routines et créer la logique qui est derrière, tout est accessible au travers d’API ou de classes prêtes à l’emploi.
Au fil des évolutions, Slim a su garder sa simplicité de concept et d’utilisation et a su trouver une communauté dynamique, avec un forum de discussion dédié et la possibilité de contribuer à l’évolution du cœur du Framework. Il existe aussi tout un écosystème autour de Slim avec des composants tiers que l’on peut trouver sur le référentiel Packagist, ainsi que des modules développés par la communauté que l’on peut réutiliser dans son projet.