Aller au contenu principal

Formater du code PHP mal formaté

Besoin de nettoyer rapidement du code PHP en vrac ? Découvrez le meilleur linter PHP en ligne, Pint-express (basé sur Laravel Pint), pour formater et embellir votre code instantanément. Aucune installation nécessaire !

· 3 minutes de lecture
Voir la source
Christophe
Amoureux de Markdown, WSL et Docker ~ Curieux insatiable.
Cet article existe aussi en anglais — lire la version originale.

Traduction automatique

Cette traduction a été produite par une IA. Elle peut contenir des contresens ou des maladresses, en particulier sur les termes techniques. En cas de doute, consultez l'article de référence en anglais — c'est lui qui fait foi.

Journal des modifications

Dernière
Replaced dead pint-express link (benjamincrozat.com/pint-express, 404) with hexmos.com/freedevtools/tldr/common/pint; updated squizlabs→PHPCSStandards; Laravel docs 11.x→13.x.

Formater du code PHP mal formaté

⚡
TL;DR

Cet article présente Pint-express (benjamincrozat.com/pint-express), un formateur PHP en ligne basé sur Laravel Pint, pour nettoyer instantanément du code PHP mal formaté : il suffit de le coller dans une zone de texte, sans rien installer. Pour des projets suivis, il recommande plutôt de brancher PHP-CS-Fixer ou PHP_CodeSniffer dans l'éditeur, le processus de build ou le pipeline CI.

Vous récupérez du vieux code PHP ; vous voulez répondre à une question posée sur un forum et la personne qui a posté la question PHP n'a pas pris soin de la formater correctement ; ... les occasions sont trop nombreuses où la qualité syntaxique du code peut être pourrie.

Vous aimeriez avoir un outil en ligne pour récupérer rapidement du code avec une mise en forme beaucoup plus soignée, juste par copier-coller. Sans rien installer et sans prise de tête.

Par exemple, comment rendre le code ci-dessous plus propre en cinq secondes ?

<?php
abstract class mycollection implements Iterator
{
protected function populate($array, $dataobject){
foreach($array as $item){
$object = new $dataobject();
foreach($item as $key => $val){$object->$key = $val;}
$this->storage[] = $object;
}}
}

Cette classe abstraite implémente Iterator et fournit une méthode utilitaire pour remplir une collection d'objets. La méthode populate() prend un tableau de données et un nom de classe, crée une instance de cette classe pour chaque élément du tableau, puis assigne les propriétés de chaque élément aux propriétés correspondantes de l'objet.

Il existe énormément de linters sur internet, mais celui-ci est peut-être l'un des meilleurs : https://hexmos.com/freedevtools/tldr/common/pint. Il est basé sur l'outil Laravel Pint (mais absolument pas limité au code Laravel).

Voici donc à quoi ressemblait le code avant :

Code PHP correctement formaté

Rendez-vous sur le formateur Pint de Hexmos, copiez le code dans la zone de texte Code du script et laissez le reformatage se faire :

Code PHP correctement formaté

Bien mieux.

Note : il existe d'autres outils comme par exemple https://codebeautify.org/php-beautifier.

Un outil en ligne est parfait pour un copier-coller ponctuel. Pour vos propres projets, intégrez plutôt le formateur dans votre workflow : jakzal/phpqa vous donne php-cs-fixer et phpcbf sans rien installer, et Git - pre-commit-hooks les exécute avant chaque commit.

Si vous êtes développeur PHP​

... alors utilisez des outils comme PHP-CS-Fixer ou PHP_CodeSniffer, ou bien d'autres. Voyez aussi mon Une image Docker qui fournit les outils d'analyse statique pour PHP.

Pensez à ajouter ces outils à votre éditeur (il existe de nombreuses extensions VSCode), à votre workflow (par exemple via des actions make locales), ou à ajouter ces étapes à un pipeline distant.


Cet article vous a-t-il été utile ?
Avez-vous suivi les étapes de cet article ?