31,029
edits
| Line 29: | Line 29: | ||
Les autres opérateurs ($HTTP_SERVER_GET, ...) ayant été passés en deprecated au sein de PHP, ne doivent plus être utilisés. Ainsi le code doit fonctionner y compris quand l'option '''register_long_arrays''' est à off. | Les autres opérateurs ($HTTP_SERVER_GET, ...) ayant été passés en deprecated au sein de PHP, ne doivent plus être utilisés. Ainsi le code doit fonctionner y compris quand l'option '''register_long_arrays''' est à off. | ||
De plus, le code doit fonctionner quand l'option PHP '''register_globals''' est à off (recommandé par PHP) aussi bien que quand l'option '''register_globals''' à on (par défaut sur de nombreuses installations). | De plus, le code doit fonctionner quand l'option PHP '''register_globals''' est à off (recommandé par PHP) aussi bien que quand l'option '''register_globals''' à on (par défaut sur de nombreuses installations). | ||
* Pas d'utilisation de la variable '''PHP_SELF'''. Utiliser a la place $_SERVER["PHP_SELF"] | * Pas d'utilisation de la variable '''PHP_SELF'''. Utiliser a la place $_SERVER["PHP_SELF"] | ||
| Line 66: | Line 64: | ||
</source> | </source> | ||
* Les fonctions doivent retourner une valeure strictement > à 0 en cas de succès, et un nombre < à 0 en cas d'erreur. | * Les fonctions doivent retourner une valeure strictement > à 0 en cas de succès, et un nombre < à 0 en cas d'erreur. | ||
| Line 74: | Line 70: | ||
* Utiliser "include_once" pour l'inclusion de tout fichier contenant des définitions de fonction ou de classes (donc fichiers *.class.php et *.lib.php), utiliser "include" pour tout inclusion de fichier de type template ou contenant un mixte de HTML et PHP (donc fichiers *.inc.php et *.tpl.php). | * Utiliser "include_once" pour l'inclusion de tout fichier contenant des définitions de fonction ou de classes (donc fichiers *.class.php et *.lib.php), utiliser "include" pour tout inclusion de fichier de type template ou contenant un mixte de HTML et PHP (donc fichiers *.inc.php et *.tpl.php). | ||
* Le style de code a utiliser est le PSR-2 (https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md) avec 2 exceptions, cela signifie entre autre: | |||
** Les fichiers doivent être sauvés en format Unix (LF) et non Windows (CR/LF). Le format Unix étant compatible sur les OS Unix like, Windows, Mac, alors que le format fichier texte Windows pose problème sous certains PHP sous Unix. | |||
** Les smart tags PHP ne sont pas utilisés. Les sections de code doivent commencer par '''<?php''' | |||
** Mais il y a l'exception de la longueur des lignes: On accepte plus de 80 caractères par ligne. Dans la plupart des cas, ce ne sera pas le cas, mais parfois (comme lorsqu'on déclare une liste de valeurs de référence dans un tableau dans les fichiers descripteur de module), il est préférable d'avoir de longues lignes de données plutôt que de longues pages car ce code ne contient aucune logique. | |||
** L'autre exception est qu'on ne remplace pas les tabulation par des espaces. Ceci rend certains editeurs fous et casse certaines fonction d'autoformatage ou de copié-collé. | |||
Vous pouvez utiliser le fichier dev/codesniffer/ruleset.xml comme fichier de contrôle pour vérifier votre style de code avec PHPCodeSniffer. | |||
= Normes SQL = | = Normes SQL = | ||