Nada, es una tonteria que me acaba de pasar, no esperaba llevarme este tipo de sorpresas a estas alturas en php, pero sí.
Resulta que yo siempre he gastado el condicional if(){ }else{}
o if(){}elseif{}
Pero a medida que ves códigos de otras personas y tal, ves que el uso de
if():
else:
endif;
Puede llegar a dejar el código mucho más bonito, depende de la situación. Total que tenía lo siguiente:
if( page_load($pages, $options, true) ):
/*
* (...) varias lineas de código sin importancia
*/
if( $error == count($pages) ){
show404();
}
else:
/*
* (...) varias lineas de código sin importancia
*/
endif;
y me saltaba todo el rato error en la linea del }. Yo flipando en colores, mirando la linea esa y la anterior, y la anterior, incrédulo, sin ver ni un fallo.
Total, se vé que en PHP no puedes anidar dos condicionales si no son del mismo 'tipo', es decir:
if():
if():
else:
endif;
endif;
esto bien
if():
if(){
}else{
}
endif;
esto MAL
Ya tá, simplemente compartir mi experiencia, a muchos os sonará a novatada xD cada día uno se da cuenta de todo lo que le falta por aprender xD