Si può leggere a riguardo nel Alternative syntax for control structures nel manuale PHP. Riformattato, il codice che hai postato è simile al seguente:
if (preg_match('/foo.*bar/','foo is a bar')):
echo 'success ';
echo 'foo comes before bar';
endif;
Questo codice è equivalente a:
if (preg_match('/foo.*bar/','foo is a bar')) {
echo 'success ';
echo 'foo comes before bar';
}
Questa sintassi è disponibile per diverse altre strutture di controllo pure.
if (condition):
// your if code
elseif (other_condition):
// optional elseif code
else:
// optional else code
endif;
while (condition):
// your while code
endwhile;
for (condition):
// your for code
endfor;
foreach (condition):
// your foreach code
endforeach;
switch (condition):
// your switch code
endswitch;
come indicato nelle risposte di seguito, questa è una sintassi alternativa. È anche doloroso leggere l'IMO, per favore evita questo nel tuo codice. – nickf
questo tipo di sintassi viene utilizzato nei modelli quando si apre e si chiude spesso e si utilizza in html. È orribile e illeggibile anche in quei casi e dovrebbe essere evitato del tutto. –
@ Looris, non sono d'accordo con te.Usarlo nei tuoi modelli può migliorare la leggibilità se me lo chiedi: vedi http://stackoverflow.com/questions/2788891/strange-php-syntax/2789008#2789008 per un esempio. –