|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Nov 2010
Messaggi: 211
|
[PHP] Errore di sintassi ?
Ciao, non riesco in nessun modo a trovare l'errore qui dentro (ci ho perso mezz'ora) e sono arrivato alla conclusione che sia un bug di php. Possibile?
Per far sparire l'errore devo togliere if(DEBUG){} L'errore sparisce anche nel caso in cui trasformo if(DEBUG){} con la sintassi alternativa if(DEBUG): endif; Oppure nel caso in cui inverto le due condizioni nel ciclo if($stack[$i] == Expression::$var): elseif(get_class($stack[$i]) == 'Operator'): endif; Codice PHP:
|
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: May 2008
Messaggi: 429
|
dal manuale php:
Mixing syntaxes in the same control block is not supported. http://php.net/manual/en/control-str...ive-syntax.php quindi se tu lasci if (DEBUG) {} dentro una struttura definita con l'altra sintassi è normale che ti vada in errore. EDIT: rileggendo il codice l'errore dovrebbe essere che l'elseif dell' if(DEBUG) {} è definito poi con : endif; e quindi qui occorrerebbe il mixing che genera l'errore. domanda: perché non usi la sintassi standard C-like? Ultima modifica di idoido : 16-03-2013 alle 19:04. |
![]() |
![]() |
![]() |
#3 | |
Member
Iscritto dal: Nov 2010
Messaggi: 211
|
Quote:
Non uso la sintassi C like in questo caso perché dove compare //codice senza errori al 100% ci sono molto linee di codice che non rientrano in un'unica schermata quindi, per sapere dove viene chiuso l'if uso la sintassi alternativa. Più che altro per sapere quanto rientra a destra (perché ciò che ho incollato fa parte di altre strutture) |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 08:55.