voici quelques éléments observés dans le code de SPIP :
les opérateurs « and », et « or » sont écrits en majuscule (comme les constantes) :
if ($x AND $y) {…
Ils sont d’ailleurs utilisés à la place du ‹ || › et ‹ && › (meilleur lisibilité)
L’opérateur de négation (caractère ‹ ! ›) est collé à l’opérande
if (!preg_match(",^(-?)(\d+)\W(\w+)(\W(\d+))?$,", $arg, $r))
Les autres opérateurs ont deux espaces de chaque côté la plupart du temps
(c’est variable avec l’opérateur d’affectation et de comparaison)
if ($type == ‹ rubrique ›) {
l’opérateur ternaire n’a pas d’espace la plupart du temps, mais parfois oui (ce qui serait mieux à mon avis)
$typdoc = sql_in(‹ docs.extension ›, array(‹ gif ›, ‹ jpg ›, ‹ png ›), $sign ? ‹ › : ‹ NOT ›);
l’opérateur de concaténation de chaine non plus, sauf s’il est en fin (ou en début) de ligne
sql_updateq(« spip_documents », array(‹ id_vignette › => 0), « id_vignette= ».$id_document);
Pour les chaines longues découpées avec cet opérateur, l’opérateur est le plus souvent en fin de ligne
Idem pour la virgule, pour les tableaux qui ne tiennent pas sur une ligne (cf. fichiers de langue)
Les parenthèses n’ont pas d’espace autour
Vous validez ces quelques règles comme recommandations acceptables ?
- les opérateurs "and", et "or" sont écrits en majuscule (comme les
constantes) :
if ($x AND $y) {...
- Ils sont d'ailleurs utilisés à la place du '||' et '&&' (meilleur
lisibilité)
hum...
pas tout à fait.
c'est du b.a. ba ça :
var_dump(0 and 0 || 1); // FALSE : 0 and (0 || 1)
var_dump(0 && 0 || 1); // TRUE : (0 && 0) || 1