Blog // Exirel.me

(bool) $flag

Par Florian Strzelecki - 13:00 - 08.08.2011

Tags : Framework, Web, Programmation, Bonne pratique, PHP, loldev, Technique

Je suis toujours autant amusé par ce que je peux trouver dans le code-source du Zend Framework. Oh, rien de grave, cela fonctionne très bien de cette façon là :

public function setNoRender($flag = true)
{
    $this->_noRender = ($flag) ? true : false;
    return $this;
}

Il s'agit d'une méthode de la classe Zend_Controller_Action_Helper_ViewRenderer, qui effectue un traitement fort simple et basique, mais d'une façon que je trouve "inutile".

Je veux dire... si j'analyse ce bout de code d'un coup d'oeil, je peux voir qu'un cast implicite en booléen est effectué, pour ensuite... affecter cette même valeur (mais écrit "explicitement"). En gros, ce bout de code est strictement équivalent au suivant :

$this->_noRender = (bool) $flag;

Pourquoi faire plus compliqué ? Pourquoi s'embêter à écrire explicitement "true" et "false" ?

Oui, c'est du pinaillage. Mais j'aime bien pinailler sur ce genre de choses.