Je voudrais quelque chose de similaire aux javascripts
var foo = true;
foo && doSometing();
mais cela ne semble pas fonctionner en php.
J'essaie d'ajouter une classe à une étiquette si une condition est remplie et je préférerais que le php intégré soit réduit au minimum pour des raisons de lisibilité.
jusqu'à présent, j'ai:
<?php $redText='redtext ';?>
<label class="<?php if ($requestVars->_name=='')echo $redText;?>labellong">_name*</label>
<input name="_name" value="<?php echo $requestVars->_name; ?>"/>
mais même alors, l’idée se plaint que j’ai une déclaration if sans accolades.
utiliser l'opérateur ternaire?:
change ça
<?php if ($requestVars->_name=='')echo $redText;?>
avec
<?php echo ($requestVars->_name=='')?$redText:'';?>
En bref
// (Condition)?(thing's to do if condition true):(thing's to do if condition false);
Vous pouvez utiliser logique opérateur ternaire La logique opérateur ternaire est le processus d'utilisation des instructions "(condition)? (Valeur de retour vraie): (valeur de retour fausse)" pour raccourcir vos structures if/else. c'est à dire
/* most basic usage */
$var = 5;
$var_is_greater_than_two = ($var > 2 ? true : false); // returns true
Quelque chose comme ça?
($var > 2 ? echo "greater" : echo "smaller")