Comprendre PSR - Le guide de style de codage PHP

Susan Sarandon
Libérer: 2024-10-22 06:11:31
original
543 Les gens l'ont consulté

Understanding PSR- The PHP Coding Style Guide

Si vous développez avec PHP depuis un certain temps, vous avez probablement rencontré le terme PSR-12. Il s’agit de l’une des normes de codage les plus largement acceptées dans la communauté PHP et vise à garantir la cohérence des bases de code PHP entre différents projets. Que vous travailliez seul ou en équipe, suivre le PSR-12 peut rendre votre code plus propre, plus lisible et plus facile à maintenir. Dans ce blog, nous expliquerons ce qu'est le PSR-12, pourquoi il est important et comment vous pouvez l'appliquer dans vos projets.

Table des matières

  1. Qu'est-ce que le PSR-12 ?
  2. Pourquoi le PSR-12 est-il important ?
  3. Règles clés du PSR-12
    • Structure des fichiers
    • Espaces de noms et déclarations d'utilisation
    • Cours et méthodes
    • Structures de contrôle
    • Commentaires et documentation
  4. Comment appliquer le PSR-12 dans vos projets PHP
  5. Outils pour vous aider à suivre PSR-12
  6. Pensées finales

Qu’est-ce que le PSR-12 ?

PSR-12 est un guide de style de codage pour PHP, développé par le PHP-FIG (Framework Interoperability Group). Il s'appuie sur la précédente norme PSR-2, fournissant un ensemble de règles mis à jour qui reflètent les pratiques PHP modernes et améliorent la cohérence entre les bases de code.

Considérez PSR-12 comme le modèle pour écrire du code PHP propre, lisible et maintenable. En suivant le PSR-12, les développeurs peuvent garantir que leur code adhère à une structure standardisée, ce qui facilite la collaboration avec d'autres et le travail sur des projets open source.

Pourquoi le PSR-12 est-il important ?

Les normes de codage comme PSR-12 ne consistent pas seulement à pinailler les espaces et les tabulations. Voici pourquoi ils sont importants :

  • Lisibilité : le code qui suit un style standard est plus facile à lire, en particulier pour les développeurs qui découvrent un projet.
  • Collaboration : Si tout le monde suit les mêmes règles, travailler ensemble devient plus fluide et plus efficace.
  • Maintenabilité : un code propre et cohérent est plus facile à déboguer, tester et étendre au fil du temps.
  • Interopérabilité : dans les projets open source ou lors de l'intégration de bibliothèques tierces, le respect d'une norme commune garantit la compatibilité entre différentes bases de code.

Règles clés du PSR-12

Plongeons dans quelques-unes des règles clés énoncées par le PSR-12. Bien qu'il existe de nombreuses directives plus petites, voici celles qui se démarquent le plus.

1. Structure des fichiers

  • Balise d'ouverture : les fichiers PHP doivent utiliser la balise
  • Encodage : Les fichiers doivent être encodés en UTF-8 sans BOM (Byte Order Mark).
  • Longueur de la ligne : Les lignes ne doivent pas dépasser 120 caractères, mais les lignes jusqu'à 80 caractères sont préférables.
  • Lignes vierges : Il ne doit y avoir aucune ligne vide après la balise PHP d'ouverture ou avant la balise de fermeture. De plus, il doit y avoir une seule ligne vide avant les instructions return et entre les définitions de méthode.

2. Espaces de noms et déclarations d'utilisation

PSR-12 exige que les espaces de noms et les déclarations d'utilisation suivent un ordre spécifique pour améliorer la clarté :

  • Déclaration d'espace de noms : La déclaration d'espace de noms doit être la première ligne après la balise PHP d'ouverture. Il doit y avoir une ligne vide après l'espace de noms.
  • Déclarations d'utilisation : Toutes les déclarations d'utilisation doivent être regroupées après la déclaration de l'espace de noms et séparées par une ligne vide. De plus, il doit y avoir une ligne vide après la dernière déclaration d'utilisation.

Exemple :

<?php

namespace App\Controllers;

use App\Models\User;
use App\Repositories\UserRepository;

class UserController {
    // Class implementation
}
Copier après la connexion
Copier après la connexion

3. Cours et méthodes

PSR-12 applique des règles strictes sur la manière dont les classes, propriétés et méthodes doivent être déclarées :

  • Déclaration de classe : Le mot-clé class doit être suivi d'un espace, puis du nom de la classe. Les accolades ouvertes { doivent être placées sur la même ligne que la déclaration de classe, avec des accolades fermantes } sur leur propre ligne.
  • Propriétés : La visibilité (publique, protégée, privée) doit être déclarée pour toutes les propriétés.
  • Méthodes : Semblable aux déclarations de classe, le mot-clé de fonction doit être suivi d'un espace, puis du nom de la méthode. La visibilité doit être déclarée pour toutes les méthodes.
class UserController {
    private $userRepository;

    public function __construct(UserRepository $userRepository) {
        $this->userRepository = $userRepository;
    }
}




<h4>
  
  
  4. Structures de contrôle
</h4>

<p>Les structures de contrôle comme if, for et switch doivent suivre certaines règles :</p>

<ul>
<li>
<strong>Structure</strong> : Il doit y avoir un espace entre le mot-clé de contrôle et la parenthèse ouvrante. Les accolades {} doivent toujours être utilisées, même pour les instructions sur une seule ligne.</li>
<li>
<strong>Indentation</strong> : Tous les blocs à l'intérieur des structures de contrôle doivent être indentés d'un niveau (généralement quatre espaces).
</li>
</ul>

<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">if ($user->isAdmin()) {
    echo "User is an admin";
} else {
    echo "User is not an admin";
}
Copier après la connexion
Copier après la connexion

5. Commentaires et documentation

Les commentaires sont cruciaux pour expliquer pourquoi certaines parties du code existent. Le PSR-12 souligne la nécessité de commentaires appropriés et clairs.

  • Bloquer les commentaires : utilisez /* */ pour les commentaires sur plusieurs lignes et placez une ligne vide avant le commentaire.
  • Commentaires sur une seule ligne : utilisez // pour les commentaires en ligne et assurez-vous que les commentaires sont significatifs.
<?php

namespace App\Controllers;

use App\Models\User;
use App\Repositories\UserRepository;

class UserController {
    // Class implementation
}
Copier après la connexion
Copier après la connexion

Comment appliquer le PSR-12 dans vos projets PHP

Pour suivre le PSR-12 dans vos projets, vous pouvez respecter manuellement les directives lors de l'écriture du code, mais la meilleure façon de garantir la conformité est d'utiliser des outils automatisés.

Tout d'abord, familiarisez-vous avec ces pratiques générales :

  • Utiliser une indentation cohérente : quatre espaces sont requis pour l'indentation.
  • Longueur limite des lignes : essayez de garder vos lignes sous 120 caractères, bien que 80 caractères soient préférés pour une meilleure lisibilité.
  • Organisez la structure du code : suivez les règles relatives aux déclarations de classe, à la visibilité et aux structures de contrôle.

Outils pour vous aider à suivre le PSR-12

S'assurer manuellement que votre code respecte le PSR-12 peut prendre beaucoup de temps, mais il existe des outils qui peuvent vous aider à automatiser ce processus.

1. PHP_CodeSniffer

L'un des outils les plus populaires pour garantir que votre code PHP respecte PSR-12 est PHP_CodeSniffer. Il analyse votre code et indique où vous vous écartez de la norme.

Pour l'installer et l'utiliser :

class UserController {
    private $userRepository;

    public function __construct(UserRepository $userRepository) {
        $this->userRepository = $userRepository;
    }
}
Copier après la connexion

Ensuite, exécutez-le sur votre code :

if ($user->isAdmin()) {
    echo "User is an admin";
} else {
    echo "User is not an admin";
}
Copier après la connexion

2. Réparateur PHP CS

Un autre outil utile est PHP CS Fixer. Il détecte non seulement les problèmes, mais peut également corriger automatiquement votre code pour se conformer au PSR-12.

// Fetch user from the repository
$user = $userRepository->find($id);

/*
 * If user is not found, throw an exception.
 * This helps in handling invalid user IDs.
 */
if (!$user) {
    throw new NotFoundException();
}
Copier après la connexion

Exécutez le fixateur avec :

composer require "squizlabs/php_codesniffer=*"
Copier après la connexion

3. PHPStorme

Si vous utilisez PHPStorm, vous pouvez le configurer pour suivre PSR-12. Accédez à Paramètres -> Éditeur -> Style de code -> PHP et définissez la norme sur PSR-12.

Pensées finales

Suivre PSR-12 dans vos projets PHP, c'est bien plus que simplement adhérer à des règles arbitraires. Il s'agit de rendre votre code plus propre, plus lisible et plus facile à maintenir, que vous travailliez seul ou en équipe. En suivant PSR-12, vous n'écrivez pas seulement du code pour vous-même mais pour l'ensemble de la communauté PHP.

L'adoption de cette norme est une étape vers l'écriture de code PHP professionnel, cohérent et maintenable. Utilisez les outils mentionnés pour faciliter le processus et observez à quel point vos projets deviennent propres et organisés !

Bon codage !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Recommandations populaires
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!