Jump to content

self::dieObject($object, $kill = true), bug ou compatibilité ?


TrogloGeek

Recommended Posts

Bonjour,

je suis quelque peu étonné par un fragment de la classe Tools :

   /**
   * Display an error with detailed object
   *
   * @param object $object Object to display
   */
   static public function dieObject($object, $kill = true)
   {
       echo '';
       print_r($object);
       echo '
';
       if ($kill)
           die('END');
   }

   /**
   * ALIAS OF dieObject() - Display an error with detailed object
   *
   * @param object $object Object to display
   */
   static public function d($object, $kill = true)
   {
       self::dieObject($object, $kill = true);
   }



Si j'en crois les commentaires, dieObject() et d() devraient avoir le même comportement, hors la valeur du paramètre $kill est ignorée dans d() puisque sa valeur est écrasée par true dans tous les cas.

Est-ce normal ?

Link to comment
Share on other sites

Bonjour

Pas "normal", il serait plus propre d'avoir :

self::dieObject($object, $kill);


Sûrement un oubli après un copier/coller.

Si tu regardes les autres classes/scripts tu trouveras aussi pas mal d'incohérence/redondance/erreur de conception...
Pas d'inquiétude à avoir, c'est souvent le cas dans les produits open source vu le nombre de contributeurs, de plus prestashop est assez "jeune". Par contre je reste persuadé qu'une démarche qualité apporterait un gros plus à ce produit, surtout quand on voit les bugs de la 1.2.4...

Malgré cela, prestashop reste un super produit :)

Link to comment
Share on other sites

Merci pour ta réponse soju, c'est effectivement ce que je pense, mais avant d'ouvrir un ticket sur le bug tracker je voudrais avoir confirmation que l'erreur n'est pas simplement au niveau des commentaires (les tickets de bug sont-ils autorisés pour des commentaires erronés ?), car je me disais que peut être d(x) est un alias de dieObject(x, true) tout comme p(x) est un alias de dieObject(x, false), et que peut être le deuxième argument dont le résultat n'est pas utilisé n'est qu'en fait une persistance pour compatibilité avec les anciennes versions (débutant tout juste sur PrestaShop...), auquel cas c'est le commentaire qui est faux. Par contre dans ce cas pourquoi réaffecter $kill au lieu d'utiliser directement true dans le corps de la fonction ?

Enfin bref, j'aimerais qu'un modérateur me dise si cela doit faire l'objet d'un ticket de bug ou non.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...