Je refactorisation du code PHP et a découvert que certaines combinaisons imbriquées desyntaxe mixte pour les structures de contrôle générant des erreurs de syntaxe
if() :
et
if() {
génèrent des erreurs de syntaxe. Ce n'est pas que je mélange normalement les deux, mais j'aime faire des vérifications de syntaxe fréquentes pendant que j'écris du code et j'ai continué à obtenir une erreur de syntaxe à cause de cela.
Exemple - génère une erreur de syntaxe:
if ($test == 1) :
if ($test2 == 'a') {
if ($test3 == 'A') {
} else {
}
}
else :
echo 'test2';
endif;
Exemple - ne génère pas d'erreur de syntaxe:
if ($test == 1) :
if ($test2 == 'a') :
if ($test3 == 'A') :
else :
endif;
endif;
else :
echo 'test2';
endif;
Quelqu'un pourrait-il s'il vous plaît me expliquer pourquoi le premier bloc de code génère une erreur?
Cela ressemble au problème général, on dirait que l'interpréteur est juste confus par l'autre, bien qu'il ne devrait pas l'être car il est encore court 1} – UnkwnTech