L'article présente une approche rigoureuse pour améliorer la qualité du code PHP en utilisant quatre outils : PHPStan pour l'analyse statique, Rector pour la modernisation automatique du code, PHP-CS-Fixer pour le respect des normes de style, et Biome pour le linting et le formatage du JavaScript. L'auteur partage ses configurations et son workflow, intégrant ces outils dans un processus automatisé via Castor, un task runner. L'objectif est de déléguer la rigueur à des machines pour éviter les erreurs humaines et maintenir un code propre et performant.
Ce billet de blog explique pourquoi l'auteur a remplacé les Makefiles par Castor, un task runner développé par JoliCode, pour automatiser ses projets PHP. Castor permet d'utiliser du PHP au lieu de scripts shell fragiles, offrant une meilleure expérience développeur avec autocomplétion, documentation et refactoring. L'auteur détaille comment Castor gère le démarrage du projet, en attendant intelligemment que la base de données soit prête, et montre un exemple de code pour illustrer ses propos.
Castor, le task runner PHP développé par JoliCode, vient d’atteindre sa version 1.0.0, marquant ainsi sa stabilité et sa maturité. L’outil se distingue par sa simplicité d’utilisation : il permet de définir des tâches automatiques via de simples fonctions PHP, sans besoin de configuration YAML ou de surcouche complexe. Avec un seul fichier castor.php et l’attribut AsTask, il est possible de créer et exécuter des tâches (comme composer install, yarn install, etc.) en une commande. Castor mise sur une API publique stable, une expérience utilisateur optimisée (autocomplétion IDE et shell, logs, documentation complète) et une intégration facile avec l’écosystème PHP (Symfony, Monolog, JoliNotif, etc.). Il propose aussi des fonctionnalités avancées comme l’exécution parallèle de processus, les notifications desktop, les commandes SSH/SCP, et même la possibilité de "repacker" un projet en un exécutable autonome. Disponible en phar ou binaire, Castor s’installe facilement et est déjà adopté par de nombreux développeurs pour automatiser leurs workflows, remplacer les Makefiles ou scripts shell, et simplifier la gestion des tâches quotidiennes. La documentation et les exemples sont riches, et le projet est open source, encouragé par une communauté active. Une alternative moderne et efficace pour l’automatisation en PHP !
Tout est dans le titre