Why elseif invece di else if?

3

Pochi giorni fa mi sono fermato su alcuni sviluppatori di PHP (per i contributori a un particolare progetto) e ha dichiarato che elseif deve essere usato rigorosamente invece di else if - senza dare alcun motivo, perché?

Qualcuno può chiarirlo? Non vedo né molta differenza né alcun argomento a sostegno di questo.

Informazioni: Credo che ci siano più lingue, oltre a PHP, che questo problema colpisce, ecco perché ho chiesto qui, non su Stack Overflow. Sentiti libero di migrare, se necessario.

    
posta trejder 30.05.2014 - 13:12
fonte

2 risposte

7

Il comportamento quando si usano parentesi graffe è esattamente lo stesso. Tuttavia, quando non usi parentesi graffe ma due punti, la seguente non compila:

if($a > $b):
    echo $a." is greater than ".$b;
else if($a == $b): // Will not compile.
    echo "The above line causes a parse error.";
endif;

Suppongo che la ragione per preferire elseif a else if sia di essere in grado di passare ae da parentesi graffe senza creare un errore di compilazione o, probabilmente più probabile, è una scelta stilistica e preferisce che solo% viene usatoelseif.

Secondo la documentazione php :

Nota: Note that elseif and else if will only be considered exactly the same when using curly brackets as in the above example. When using a colon to define your if/elseif conditions, you must not separate else if into two words, or PHP will fail with a parse error.

    
risposta data 30.05.2014 - 13:17
fonte
5

Oltre a questa risposta , in entrambi gli standard di codifica PSR2.0 e PEAR l'uso di elseif invece di else if è specificato in modo che tutte le parole chiave di controllo abbiano l'aspetto di singole parole:

<?php 
if ($expr1) {
    // if body 
} elseif ($expr2) {
    // elseif body 
} else {
    // else body; 
}

The keyword elseif SHOULD be used instead of else if so that all control keywords look like single words

Fonte: link

    
risposta data 30.05.2014 - 14:58
fonte

Leggi altre domande sui tag