no mezcleis if's!

NeB1

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

BLZKZ

pues yo me sigo quedando con {} xDD lo llevo usando años en otros lenguajes, ademas de la ayuda que supone cuando usas editores tipo kate o notepad++, pero nunca está de más saberlo

LR

#2 +1

Dejate de endif y usa las llaves como todo el mundo!! xDDD

N

NeB1 deberías haber estudiado la carrera/modulo del solitario o spider, se te dará mejor.

dr_Rouman

Esto me recuerda al problema del else danzante (verídico), que nos explicaron en TALF xD

bLaKnI

OOoooooooghhh! Que feada por Dios.
Churros y meninas, NO!

PHP con PHP y VB/ASP con VB/ASP... xD
encima ni esto, ya que no tiene ni then! Es un puto plágio a Python!

Nada nada... { y }
:)

NeB1

xDD redios, me parecía más bonito el código modo python que modo C, no tenía ninguna otra cosa, y me pareció curioso ese error.

#4 a que coño viene eso?

BLZKZ

#7 si se agradece hombre! pero yo por "tradición" no lo usaré xD a ver si luego la voy a cagar

eXtreM3

No veo problema en usar las { } la verdad...

aún así ya sé que existe alguna alternativa, para esas veces que pruebas de todo por desesperación, por muy gilipollezco que te parezca xD (que no es el caso)

HoTiTo

Me uno al grupo de los que se quedan con los { }.

renegadecell

Yo sigo usando estos.

(3)/ () (^^) (.) (úù) (ù_ú) (UoU)/

Y de momento me rulan bien ^^

dr_Rouman

Con python queda bastante claro que no son necesarios las llaves, pero yo creo que en Python funciona porque es obligatorio (además de indentar) y porque por lo general no se aplica a aplicaciones enormes.

Aun así hay gente que pide que se metan llaves. De hecho si abrís un terminal de python y ponéis:

from future import braces

Te dice algo así como "not a chance".

future es un módulo en el que se meten cosas que pasarán a ser estándar más adelante, creo. Braces son las llaves {}

Por ejemplo, ni de coña querría yo un C o un C++ sin llaves y con indentación.

0buS

yo siempre lo veo más claro con {} xDD

dagavi

Las llaves son el pasado... y el presente y futuro!

Usuarios habituales