Home

CLImate est une bibliothèque PHP permettant de formater, colorer et même animer les sorties console de vos scripts PHP exécutés en CLI.

CLImate est une bibliothèque PHP permettant de formater, colorer et même animer les sorties console de vos scripts PHP exécutés en CLI.

Aujourd’hui, le terminal ou la console SSH est de plus en plus utilisée conjointement avec des développements PHP. Que ce soit avec l’utilisation de frameworks comme Symfony2, Laravel ou des développements perso, on exécute de plus en plus de scripts en CLI (suppression de cache, génération d’assets, CRUD, minifications …).

Vous aurez remarqué qu’il est possible de colorer les retours de vos scripts PHP dans la console, mais ce n’est pas toujours évident de se rappeler de la syntaxe…

CLImate est une bibliothèque PHP orientée objet qui vous permettra justement de sortir du texte formatté et coloré facilement.

La bibliothèque s’installe facilement avec composer:

1.{
2."require": {
3."joetannenbaum/climate": "0.1.*"
4.}
5.}

Et s’utilise rapidement avec les commandes suivantes (basiques) après autoload du script:

1.$climate = new JoeTannenbaumCLImateCLImate;
2.$climate->out('This prints to the terminal.');
3.$climate->out('This prints to the terminal.')->out('This will be on a new line');

L’intérêt n’est bien sûr pas de faire des sorties basiques, mais plutôt d’utiliser l’une des nombreuses fonctionnalités proposées par l’outil:

Sortie console colorée en PHP

16 couleurs sont disponibles avec CLImate.

1.$climate->red('Whoa now this text is red.');
2.$climate->blue('Blue? Wow!');
3.$climate->lightGreen('It's not easy being (light) green.');

Si vous souhaitez ajouter vos propres couleurs, c’est possible comme ceci:

1.$climate->style->addColor('lilac', 38);
2. 
3.$climate->lilac('What a pretty color.');
4.$climate->backgroundLilac()->out('This background is a pretty color.');
5.$climate->out('Just this <lilac>word</lilac> is a pretty color.');
6.$climate->out('Just this <background_lilac>word</background_lilac> is a pretty color.');

Sortie console avec des backgrounds de couleurs en PHP

Même chose que pour la coloration du texte mais cette fois en background du texte:

1.$climate->backgroundRed('Whoa now this text is red.');
2.$climate->backgroundRed()->out('Whoa now this text is red.');
3.$climate->backgroundBlue()->out('Blue? Wow!');
4.$climate->backgroundLightGreen()->out('It's not easy being (light) green.');

A noter qu’il y’a toujours deux syntaxes pour l’utiliser, directement avec l’alias, ou en utilisant out().

Formater le texte en sortie console en PHP

Vous pourrez aussi jouer sur le formattage du texte et son style: Gras, souligné, fin, caché, clignotant…

1.$climate->bold('Bold and beautiful.');
2.$climate->underline('I have a line beneath me.');
3.$climate->bold()->underline()->out('Bold (and underlined) and beautiful.');
4.$climate->blink()->dim('Dim. But noticeable.');

Formater une partie d’une ligne en sortie console avec PHP

Vous pouvez aussi choisir de formatter uniquement une partie d’une phrase en sortie console en utilisant directement des tags dans votre texte de sortie:

1.$climate->blue('Please <bold><background_light_red>remember</background_light_red></bold> to restart the server.');

Formater des tableaux PHP en sortie console dans un terminal

CLImate vous permettra aussi d’afficher des tableaux de manière lisible dans le terminal, super pratique pour faire du debug !

01.$climate->table([
02.[
03.'name'       => 'Walter White',
04.'role'       => 'Father',
05.'profession' => 'Teacher',
06.],
07.[
08.'name'       => 'Skyler White',
09.'role'       => 'Mother',
10.'profession' => 'Accountant',
11.],
12.[
13.'name'       => 'Walter White Jr.',
14.'role'       => 'Son',
15.'profession' => 'Student',
16.],
17.]);

Et le rendu:

Formater des tableaux PHP en sortie console

Et bien d’autres possibilités de formatage de sortie console PHP

Je vous laisse consulter la documentation de CLImate pour découvrir l’ensemble des possibilités.

Vous pourrez aussi gérer des progress bar dynamique, gérer des bordures de séparation, générer des ASCII art …

Plutôt cool non ?

Site Officiel

Publicités

Laisser un commentaire

Choisissez une méthode de connexion pour poster votre commentaire:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s