Basic Coding Standard
Cette section de la norme comprend ce qui doit être considéré comme les éléments de codage standard nécessaires pour assurer un niveau élevé d’interopérabilité technique entre les codes PHP partagés.
Les mots clés “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, et “OPTIONAL” dans ce document doivent être interprétés comme décrit dans la RFC 2119.
Vue d’ensemble
- Les fichiers DOIVENT utiliser uniquement les balises <?php et <?=.
- Les fichiers DOIVENT utiliser uniquement UTF-8 sans BOM pour le code PHP.
- Les fichiers DOIVENT déclarer des symboles (classes, fonctions, constantes, etc.) ou provoquer des effets de bord (par exemple, générer des sorties, modifier les paramètres .ini, etc.
- Les espaces de noms et les classes DOIVENT suivre un PSR “autoloading” : [PSR-0, PSR-4].
- Les noms de classe DOIVENT être déclarés en StudlyCaps.
- Les constantes de classe DOIVENT être déclarées en majuscules et séparées par des traits de soulignement.
- Les noms des méthodes DOIVENT être déclarés en camelCase.
Fichiers
Balises PHP
Le code PHP DOIT utiliser les balises longues <?php ?> ou les balises courtes <?= ?> ; il NE DOIT PAS utiliser les autres variantes de balises.
Codage des caractères
Le code PHP DOIT utiliser uniquement UTF-8 sans BOM.
Effets de bord
Un fichier doit déclarer de nouveaux symboles (classes, fonctions, constantes, etc.) et ne provoquer aucun autre effet de bord, ou bien il doit exécuter une logique avec des effets de bord, mais il ne doit pas faire les deux.
L’expression “effets secondaires” désigne l’exécution d’une logique qui n’est pas directement liée à la déclaration de classes, de fonctions, de constantes, etc.
Les “effets secondaires” comprennent, sans s’y limiter, la génération de sorties, l’utilisation explicite de require ou include, la connexion à des services externes, la modification des paramètres ini, l’émission d’erreurs ou d’exceptions, la modification de variables globales ou statiques, la lecture ou l’écriture dans un fichier, et ainsi de suite.
Voici un exemple de fichier contenant à la fois des déclarations et des effets de bord, c’est-à -dire un exemple de ce qu’il faut éviter :
