Child pages
  • Norme de développement

Versions Compared

Key

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

...

  1. Le nom des constantes doit être écrit en majuscule, sauf pour true, false et null qui doivent être en minuscule : ENT_NOQUOTE, true.
  2. Le nom des constantes doit être préfixé avec "PS_" dans un module ou le coeur de PrestaShop :

    Code Block
    borderStylesolid
    define('PS_DEBUG', 1);
    define('PS_MODULE_NAME_DEBUG', 1);
    
  3. Le nom des constantes ne doivent doit utiliser que des caractères alphabétiques, ainsi que le signe "_".

...

  1. À l'intérieur d'une fonction et d'une méthode, seul le commentaire de type "//" est autorisé.
  2. Il doit y avoir une un espace à l'ouverture d'un signe de commentaire "//" :

    Code Block
    borderStylesolid
    // My great comment
    
  3. Le marqueur de commentaire "//" est toléré à la fin d'une ligne de code :

    Code Block
    borderStylesolid
    $a = 17 + 23; // A comment inside my example function
    
  4. En dehors des fonctions et méthodes, seuls les marqueurs "/*" and "*/" sont autorisés :

    Code Block
    borderStylesolid
    /* This method is required for compatibility issues */
    public function foo()
    {
    	// Some code explanation right here
    	...
    }
    
  5. Un commentaire phpDoc est requis en ouverture de méthode :

    Code Block
    borderStylesolid
    /**
     * Return field value if possible (both classical and multilingual fields)
     *
     * Case 1: Return value if present in $_POST / $_GET
     * Case 2: Return object value
     *
     * @param object $obj Object
     * @param string $key Field name
     * @param integer $id_lang Language id (optional)
     * @return string
     */
    protected function getFieldValue($obj, $key, $id_lang = NULL)
    
    Info
    titleÀ propos de phpDoc

    Pour plus d'information sur la syntaxe phpDoc : http://manual.phpdoc.org/HTMLSmartyConverter/HandS/phpDocumentor/tutorial_tags.pkg.html.

Valeurs retournées

  1. La déclaration return ne nécessaire nécessite pas de parenthèses, sans de sauf dans le cas d'une expression composée :

    Code Block
    borderStylesolid
    return $result;
    return ($a + $b);
    return (a() - b());
    return true;
    
  2. La déclaration return peut être utilisée pour sortir d'une méthode :

    Code Block
    borderStylesolid
    return;
    

...

  1. Le mot-clé array ne doit pas être suivi d'une un espace :

    Code Block
    borderStylesolid
    array(17, 23, 42);
    
  2. Lorsqu'il y a trop de données dans un tableau, l'indentation doit être comme suit :

    Code Block
    borderStylesolid
    $a = array(
    	36 => $b,
    	$c => 'foo',
    	$d => array(17, 23, 42),
    	$e => array(
    		0 => 'zero',
    		1 => $one
    	)
    );
    

...

Voici un bref tutoriel pour installer la moulinette de norme sur son PC et l'utiliser pour valider ses fichiers. La moulinette de norme passe par PHP CodeSniffer qui est un package de PEAR (http://pear.php.net/package/PHP_CodeSniffer/). La norme PrestasShop a été créée pour l'occasion, constituée de nombreuses règles reprises des normes déjà existantsexistantes, plus un certain nombre de règles personnalisées pour coller davantage au projet.

...