09-01-2015, 05:11 AM
Parse hataları PHP ile çalışırken en çok karşılaşılan hatalardan birisidir.
Parse hataları, sayfanızda herhangi bir sözdizimi (syntax) hatası oluştuğunda yorumlayıcı tarafından ortaya çıkarılırlar.
En çok görülen parse hatalarına örnek verecek olursak;
1. Parse error: syntax error, unexpected $end in … .PHP on line …
2. Parse error: syntax error, unexpected T_IF/T_WHILE/T_FOR, expecting ‘{‘ in … .PHP
3. Parse error: unexpected T_IF, expecting ‘,’ or ‘;’ in … .PHP on line …
4. Parse error: unexpected T_STRING, expecting’,’ or ‘;’ in … .PHP on line …
Bu hataları örnekleyerek açıklayacak olursak:
1. Parse error: syntax error, unexpected $end in
Hata sebebi: Kullanılan 1. if sorgusu ‘}’ ile kapatılmamış. Böyle bir durum oluştuğunda yorumlayıcı size sayfanın son satırını verecektir.
Kod:
2. Parse error: syntax error, unexpected T_IF/T_WHILE/T_FOR, expecting ‘{‘ in
Hata sebebi: Fonksiyon açma ayracı bulunamadı. Bu yüzden hatayı if e yükleyecektir. Hata raporları: T_IF for if, T_WHILE for while, T_FOR for.
Fonksiyonu açarken ayracı fonksiyon isminden sonra koymalısınız. Bu yüzden yorumlayıcı ilk açma ayracını arayacak ve hatayı if e rapor edecektir.
Kod:
3. Parse error: parse error, unexpected T_IF, expecting ',' or ';' in … .PHP on line …
Hata sebebi: İlk “echo” dan sonra konulmayan ‘;’. Bu yüzden yorumlayıcı hatayı ikinci if e yükleyecektir. İlk “echo” nun devam etmesini bekliyor ama devam etmiyor. Bunun yerine hatayı if ifadesine yüklüyor.
Kod:
Satır sonlarında ‘;’ yerine ‘,’ kullanırsanız da aynı hata ile karşılaşırsınız. Hata şöyle karşınıza çıkacaktır: parse error, unexpected T_IF in
Kod:
4. Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in … .PHP on line …
Hata sebebi: İlk “echo” “ ’ ” eksik olduğu için kapatılmadı. (‘) ile açtığınızda (“) ile veya (“) ile açtığınızda (‘) ile kapatırsanız da aynı hata ile karşılaşırsınız.
Kod:
Parse hataları, sayfanızda herhangi bir sözdizimi (syntax) hatası oluştuğunda yorumlayıcı tarafından ortaya çıkarılırlar.
En çok görülen parse hatalarına örnek verecek olursak;
1. Parse error: syntax error, unexpected $end in … .PHP on line …
2. Parse error: syntax error, unexpected T_IF/T_WHILE/T_FOR, expecting ‘{‘ in … .PHP
3. Parse error: unexpected T_IF, expecting ‘,’ or ‘;’ in … .PHP on line …
4. Parse error: unexpected T_STRING, expecting’,’ or ‘;’ in … .PHP on line …
Bu hataları örnekleyerek açıklayacak olursak:
1. Parse error: syntax error, unexpected $end in
Hata sebebi: Kullanılan 1. if sorgusu ‘}’ ile kapatılmamış. Böyle bir durum oluştuğunda yorumlayıcı size sayfanın son satırını verecektir.
Kod:
Kod:
if (5 > 4) {
echo 'IF ';
if (1< 0) {
echo 'Inner IF';
}
2. Parse error: syntax error, unexpected T_IF/T_WHILE/T_FOR, expecting ‘{‘ in
Hata sebebi: Fonksiyon açma ayracı bulunamadı. Bu yüzden hatayı if e yükleyecektir. Hata raporları: T_IF for if, T_WHILE for while, T_FOR for.
Fonksiyonu açarken ayracı fonksiyon isminden sonra koymalısınız. Bu yüzden yorumlayıcı ilk açma ayracını arayacak ve hatayı if e rapor edecektir.
Kod:
Kod:
function test ()
if (1>2) {
echo ' IF ';
}
for ($i=0; $i<=5; $i++) {
echo "For $i";
}
}
3. Parse error: parse error, unexpected T_IF, expecting ',' or ';' in … .PHP on line …
Hata sebebi: İlk “echo” dan sonra konulmayan ‘;’. Bu yüzden yorumlayıcı hatayı ikinci if e yükleyecektir. İlk “echo” nun devam etmesini bekliyor ama devam etmiyor. Bunun yerine hatayı if ifadesine yüklüyor.
Kod:
Kod:
if (5 > 4) {
echo 'testing error '
if (1< 0) {
echo 'Inner IF';
}
}
Satır sonlarında ‘;’ yerine ‘,’ kullanırsanız da aynı hata ile karşılaşırsınız. Hata şöyle karşınıza çıkacaktır: parse error, unexpected T_IF in
Kod:
Kod:
if (5 > 4) {
echo 'parse error answer ',
if (1< 0) {
echo 'Inner IF';
}
}
4. Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in … .PHP on line …
Hata sebebi: İlk “echo” “ ’ ” eksik olduğu için kapatılmadı. (‘) ile açtığınızda (“) ile veya (“) ile açtığınızda (‘) ile kapatırsanız da aynı hata ile karşılaşırsınız.
Kod:
Kod:
if (5 > 4) {
echo 'error due to missing quote ;
if (1< 0) {
echo 'Inner IF';
}
}