2010-01-17 4 views

Répondre

10

Il est le Alternative syntax for control structures.


Citant cette page du manuel:

PHP propose une alternative pour certaines de ses structures de contrôle; , à savoir, if, while, for, foreach, et switch. Dans chaque cas, la forme de base de la syntaxe alternative est de changer l'accolade d'ouverture à deux points (:) et l'entretoise de fermeture à endif;, endwhile;, endfor;, endforeach; ou endswitch;, respectivement.


Je ne vois pas souvent utilisé dans les fichiers « PHP pur », mais il est très souvent utilisé lorsque PHP est mélangé avec HTML dans le même fichier - à savoir quand il est utilisé comme langue de templating.

+1

Les structures de contrôle alternatif sont une caractéristique agréable mais souvent une douleur dans le cul parce qu'aucun IDE ne fournira aucune aide dans la navigation de ces structures en mettant en évidence. Au moins, la mienne n'en a pas. –

+0

Quel IDE utilisez-vous? –

0

La notation PHP:

if(x=1): 
    dosomething(); 
elseif(x=2): 
    dosomethingelse(); 
    andanotherthing(); 
else: 
    doesntmatcheither(); 
endif; 

est également liée à

$var=(query?true:false); 

ou encore plus raccourci

$var=query?true:false; 

Mais personnellement, je n'aime pas omettre la parenthèse; appelez-moi paranoïaque;)

+2

Comment cela est-il exactement lié? Cela n'a rien à voir avec la question réelle. – poke

+0

De plus, parce que vous utilisez '' '' simple, 'x' est mis à 1 et évalué. –

0

même effet, aucune différence et à mon avis personnel l'offre un meilleur code readble et une syntaxe propre, aussi le mot clé de fermeture de fin pourrait aider dans les structures de contrôle imbriquées, pour indiquer lequel ferme au lieu de deviner à partir d'un groupe d'accolades.