PHP-CLI, ou la création d’un environnement CLI en PHP

environnement PHP-CLI
PHP-CLI

Depuis quelques semaines, je me pose des questions sur la création d’un environnement CLI en PHP.
Il faut savoir que je suis personnellement sous Ubuntu depuis quelques années, et j’ai depuis lors, des notions en Bash.

Mais étant un développeur PHP, je voulais savoir ce qu’il était possible de faire en PHP-CLI.
Je connais l’existence de WP-CLI et de Laravel Zero, les développeurs les ayant largement adopté. Pour ma part, ayant déjà testé WP-CLI, je considère cet outil primordial dans le monde de WordPress.

J’ai réfléchi à ce que je voulais potentiellement faire en PHP-CLI, et le fait de gérer des données me semblait intéressant.
J’ai commencé à faire une application avec une architecture simple :

Architecture de mon projet PHP-CLI
Architecture du projet

Comme vous pouvez le voir, l’architecture est asses simple :

  • app, dossier qui contient les quelques classes créé spécifiquement pour ce projet
  • data, le dossier des datas que je récupère dans différents formats (csv, xml et json).
  • partials contient des templates pour mes scripts en CLI.
  • scripts, la partie qui contiendra mes différents scripts CLI.
  • Le dossier vendor, pour les bibliothèques extérieure.

Pour le moment, en terme de librairies externes, j’utilise les suivantes :

  • phpdotenv : pour la gestion de mes variables d’environnements dans un fichier .env
  • phinx : Pour gérer mes tables de BDD, simplement et rapidement
  • monolog : Pour gérer mes logs
  • goutte : Pour le côté scraping de données.

Comme je débute ce projet, il est loin d’être parfait. Je compte le développer au fur du temps, et au grès de mes besoins.
Je suis sûr qu’il me seras très utile dans le futur.

Qu’en pensez-vous ?

sem, elit. ut mattis ut ipsum ultricies commodo quis sit mi,