Salut à tous,
je vous propose une base pour débuter proprement n'importe quel projet PHP (hors framework).
Il suffit de récupérer le projet ici : https://github.com/grunk/php-skeleton et de lancer un composer install.
Le projet s'articule autour de 3 dossiers :
- public : c'est ici que devra pointer votre virtual host ouracine web , c'est le seul dossier exposé à "internet". C'est ici qu'il faudra avoir un index.php , vos images , vos css , etc ...
- src : Les sources de votre application à organiser comme bon vous semble. Par défaut un namespace App pointe dans ce dossier.
- test: Dossier pour tests unitaires.
Il embarque les outils nécessaire à la production de code de qualité à savoir :
- PHPUnit pour les test
- PHPCS pour le style de code
- PHPStan pour l'analyse statique
Le projet est configuré avec plusieurs commandes prédéfinies pour utiliser ces outils :
- composer style vérifie le style du code en respect du PSR12
- composer style-fix corrige automatiquement les erreurs de style
- composer phpunit Lance les tests unitaires
- composer phpstan Lance une analyse statique
- composer test Regroupe toutes les commandes précédentes (utile pour CI/CD)
Pour finir un workflow basique de CI/CD est intégré avec les Github Actions. A chaque commit sur main l'ensemble des tests sont lancés automatiquement.
3 fichiers PHP sont dispo pour servir de démo, il est évidemment possible de les supprimer pour coller à votre besoin.
Mon but ici était de faire quelques chose de très simple et customisable tout en posant les bases des bonnes pratiques.
N'hésitez pas me donner vos avis sur la chose , d'éventuelles améliorations possible, etc...
Partager