Collez le PHP puis cliquez sur le bouton : la mise en forme se fait dans ce navigateur, rien n'est envoyé et aucun code n'est exécuté.
Fonctionne localement dans votre navigateurCollez un extrait ou un fichier entier puis cliquez sur Formatage du code PHP. L'indentation est réécrite dans le navigateur avec une tabulation par niveau ; le code n'est jamais exécuté, aucune sortie n'est produite et rien n'est envoyé.
Le résultat conserve les passages qui sont du texte littéral et non du code : le corps d'un heredoc ou d'un nowdoc, un commentaire # ou //, et le HTML situé entre un ?> fermant et la balise ouvrante suivante. Ces zones reviennent octet pour octet, ce dont un template a besoin, car une indentation ajoutée à cet endroit change la page rendue.
Chaque instruction écrite sur une seule ligne est coupée à son point-virgule, les accolades passent sur leur propre ligne et chaque niveau d'imbrication gagne une tabulation. Une classe minifiée devient lisible, et en contrepartie la sortie ne correspond plus ligne à ligne à l'entrée : les lignes vides disparaissent, l'indentation se fait toujours par tabulations, et un tableau ou une liste d'arguments longue reste sur une seule ligne au lieu d'être repliée. Un projet qui utilise quatre espaces a besoin ensuite d'un passage avec son propre formateur.
Le corps d'un heredoc ou d'un nowdoc est une sortie littérale : il est copié octet pour octet, y compris la balise de fin indentée autorisée depuis PHP 7.3. Les commentaires de ligne commençant par # ou // sont traités comme des commentaires et non comme des accolades, ce qui compte pour un bloc du type # voir la syntaxe {placeholder}, et un attribut PHP 8 comme #[Route('/x')] reste du code, car un attribut n'ouvre pas de commentaire. Le texte entre ?> et le prochain <?php appartient au HTML et n'est jamais réindenté : une boucle de template foreach (...): contenant un <?= ... ?> revient avec son balisage intact.
Le formateur lit des caractères, pas un arbre syntaxique : il n'exécute jamais le code, ne vérifie pas la syntaxe, et une accolade ouverte ou un guillemet manquant revient tel qu'écrit au lieu de produire une erreur. La coloration vient après la mise en forme et, au-delà d'environ 120 Ko, elle est ignorée pour que la page reste réactive : un gros fichier reste lisible mais en une seule couleur. Au-delà d'un simple nettoyage, php-cs-fixer, PHP_CodeSniffer ou le formateur de l'éditeur respectent le style et les lignes vides d'un vrai projet et s'appliquent à toute l'arborescence plutôt qu'à un copier-coller.