Ci sono diversi bug di PHP comuni che i programmatori introducono durante la scrittura di codice PHP . Alcuni degli insetti causano messaggi di errore del programma di interpretazione , ma i messaggi di errore spesso non riguardano il bug reale e possono puntare a una linea completamente diversa nello script . Altri bug non causano alcun messaggio di errore a tutti, ma causano il programma di comportarsi in modo diverso rispetto al previsto. E ' utile rivedere questi bug comuni , perché questi errori sono fatti da principianti e programmatori esperti. Utilizzando un operatore di assegnazione in una espressione condizionale
Il segno di uguale è un operatore di assegnamento in PHP . Ad esempio, l' istruzione seguente assegna il valore di cinque alla variabile $ x :
$ x = 5 ;
Due segni uguali insieme fanno un operatore condizionale . Ad esempio, l' istruzione seguente assegna il valore di tre alla variabile $ y , se la variabile $ x è uguale a cinque :
if ( $ x == 5) $ y = 3;
< p > un comune bug di PHP è quello di omettere uno dei segni uguali nelle espressioni condizionali . Questo fa sì che l'interprete per eseguire un compito e poi una valutazione condizionato il risultato della cessione , per cui qualsiasi valore diverso da zero valuterà a Ad esempio , si consideri la seguente dichiarazione " vero". :
if ( $ x = 5) $ y = 3;
la variabile $ y sarà sempre uguale a tre, perché il valore è assegnato a cinque , invece di rispetto , la variabile $ x . Dal cinque è diverso da zero , il risultato sarà sempre valutata a "true ".
Tralasciando un preventivo finali da una stringa
Un altro comune errore PHP si verifica quando non si chiude correttamente una stringa con una citazione finale . E ' facile fare questo , soprattutto se si stia mescolando le virgolette singole e doppie nella stessa stringa . A volte è difficile rintracciare la fonte di questo errore, perché il messaggio di errore può essere molto diverso dal vero problema , e l'interprete di punta spesso ad una linea che è più righe passato dove il vero problema è . Questo perché l'interprete continua a cercare di elaborare il codice nonostante la citazione mancante . Si consideri il seguente script :
< php $ stringa1 = ' E lei disse , "Mi chiedo perché ? " ; $ Stringa2 =' E lui rispose: " Credo di sapere la risposta! " ? , '; if ( $ plot_path1 ) echo $ stringa1 ; elseecho $ stringa2 ;
Questo codice genererà un errore " inaspettata T_STRING " che punta alla riga contenente l'istruzione "if ", che è di due linee sotto, dove il vero problema si verifica .
Dimenticando il " $ " quando si passa da una lingua all'altra
programmi PHP
spesso hanno sia markup HTML e codice JavaScript intervallati con script PHP . Quando si passa tra PHP e JavaScript , è facile dimenticare che la lingua che si sta utilizzando e di adottare le norme del linguaggio di scripting sbagliato . Un errore comune è quello di omettere il simbolo del dollaro di fronte a una variabile PHP , in quanto è richiesto in PHP , ma non in JavaScript . Ad esempio , il seguente script omette il segno di dollaro dalla variabile "i" nel ciclo "for ", dopo lo snippet di codice JavaScript : ?
< Php $ totale = somma ( $ parti ) ; ? . ? >