Guide de style de codage PHP moderne

Les normes de codage PSR-1 et PSR-2 définissent l'apparence du code.

PSR-1 est la norme de codage de base pour PHP. PSR-2 est le guide de style de codage.

Avant leur définition, on copiait une norme de codage à partir de l'un des frameworks populaires, mais maintenant que PHP a une norme de codage officielle, nous devrions tous viser à y adhérer.

PSR-1 en quelques mots

  • Les fichiers DEVRAIENT soit déclarer des symboles (classes, fonctions, constantes, etc.), soit provoquer des effets secondaires (par exemple générer une sortie, modifier les paramètres .ini, etc.) mais NE DEVRAIENT PAS faire les deux
  • Les espaces de noms et les classes DOIVENT suivre un PSR de «chargement automatique»: [PSR-0, PSR-4]
  • Les noms de classe DOIVENT être déclarés dans StudlyCaps
  • Les noms de méthode DOIVENT être déclarés dans camelCase

PSR-2 en bref

  • Le code DOIT utiliser 4 espaces pour l'indentation, pas les tabulations
  • Il NE DOIT PAS y avoir de limite stricte sur la longueur de la ligne; la limite souple DOIT être de 120 caractères; les lignes DEVRAIENT contenir 80 caractères ou moins.
  • Il DOIT y avoir une ligne vide après la déclaration d'espace de noms, et il DOIT y avoir une ligne vide après le bloc de déclarations d'utilisation.
  • La visibilité DOIT être déclarée sur toutes les propriétés et méthodes; résumé et final DOIVENT être déclarés avant la visibilité; static DOIT être déclaré après la visibilité.
  • Les parenthèses ouvrantes pour les structures de contrôle NE DOIVENT PAS avoir d'espace après elles, et les parenthèses fermantes pour les structures de contrôle NE DOIVENT PAS avoir d'espace avant.

Application des normes

Il est essentiel de connaître et de comprendre les normes de codage. Le faire appliquer automatiquement par votre IDE ou votre éditeur est un grand pas en avant pour le respecter.

Sur PHPStorm

C'est intégré. Allez dans Préférences -> Editeur -> Style de code -> PHP, cliquez avec le bouton droit sur "Définir à partir de .." et choisissez "Style prédéfini" -> "PSR1 / PSR2"

Sur Sublime Text

Utilisationsublime-phpfmt