Child pages
  • Norme de développement

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

C'est pourquoi, lorsque vous écrivez du code pour PrestaShop, que ce soit pour un thème, un module ou une modification du coeur du logiciel, vous devez faire en sorte de suivre les indications qui suivent. Elles sont déjà suivies par les développeurs de PrestaShop, et les suivre également est la manière la plus sûr sûre de voir votre code s'intégrer dans PrestaShop de manière élégante.

...

  1. "+", "-", "*", "/", "=" et toute combinaison de ces opérateurs (ex. : "/=") doivent avoir une espace avant et après.

    Code Block
    borderStylesolid
    $a + 17;
    $result = $b / 2;
    $i += 34;
    
  2. "." doit ne pas avoir d'espace avant ou après.

    Code Block
    borderStylesolid
    echo $a.$b;
    $c = $d.$this->foo();
    
    Note
    titleRecommandation

    Pour des raisons de performance, n'abusez pas des concaténations.

  3. ".=" doit avoir une espace avant et après.

    Code Block
    borderStylesolid
    $a .= 'Debug';
    
  4. Lorsque vous testez une variable booléenne (true/false), n'utilisez pas a un opérateur de comparaison, mais testez directement la valeur elle-même, ou la valeur préfixe d'un point d'exclamation :

    Code Block
    // ne faites pas ceci
    if ($var == true)
    // ...ni ceci
    if ($var == false)
    
    // faites ceci
    if ($var)
    // ...ou ceci
    if (!$var)
    

...

  1. Le nom des méthodes et fonctions doivent utiliser la méthode CamelCase : commencer par un caractère en minuscule, chaque mot suivant doit commencer par un caractère en majuscule :

    Code Block
    borderStylesolid
    public function myExampleMethodWithALotOfWordsInItsName()
    
  2. Les accolades qui ouvrent le code d'une méthode doit être précédé précédées d'un retour à la ligne :

    Code Block
    borderStylesolid
    public function myMethod($arg1, $arg2)
    {
    	...
    }
    
  3. Le nom des méthodes et fonctions doit être explicite ; les noms tels que b() ou ef() sont donc à proscrire :

    Info
    titleExceptions

    Les seules exceptions admises sont la fonction de traduction (nommée l()) et les fonctions de débogage (nommées p() et d()).

...

Les virgules doivent être suivies (et non précédées) d'une un espace :

Code Block
borderStylesolid
protected function myProtectedMethod($arg1, $arg2, $arg3 = null)

...