Bonjour,
Je reprend un code, et je bloque sur cette syntaxe :
Comment la lire svp ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part ( !$this->is_empty_status() ) || $status = 'invalid';
Merci !
Bonjour,
Je reprend un code, et je bloque sur cette syntaxe :
Comment la lire svp ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part ( !$this->is_empty_status() ) || $status = 'invalid';
Merci !
Ici c'est une manière de lancer une instruction sous condition :
A ne pas confondre avec le || de comparaison :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 false || die('ok'); // va effectuer le die true || die('ok'); // il ne se passe rien
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 $toto = true || false; // true $toto = true || true; // true $toto = false || true; // true $toto = false || false; // false
j'y pense, il est également possible de lancer une commande
Ah je ne la connaissais pas ! Merci beaucoup Halleck !
Donc si j'ai bien compris, ma variable $status aura pour valeur 'invalid' uniquement si la fonction is_empty_status() renvoie FALSE.
Ceci dit je ne vois pas l'utilité par rapport à la syntaxe classique :
Même pas un petit gain de place dans le code...
Code : Sélectionner tout - Visualiser dans une fenêtre à part if ( !$this->is_empty_status() ) $status = 'invalid';
Effectivement, l'intérêt peut être limité, surtout au niveau de la clarté du code.
Ceci dit, il est fréquent de voir cette syntaxe pour des définitions de constantes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part defined('TOTO') || define('TOTO', value');
Pour moi, c'est le meme || que celui de comparaison sauf qu'on utilise la faculté de php à ne pas évaluer le membre de droite d'une condition OU lorsqu'on a un false dès le membre de gauche (optimisation d'exécution)
A mes yeux, c'est un détournement bien pratique de cette optimisation
Partager