der editor ist es nicht, der den fehler entdeckt und zurückgibt, das ist der php-parser selbst. je nach fehler kann sich eine angabe auch verschieben, da der parser nicht unbedingt so intelligent ist den ursächlichen fehler zu entdecken, er meldet den fehler dort, wo er selbst nicht mehr weiterkommt. gerade bei klammerfehlern {} passiert es häufig, daß die fehlerangabe viel später auftritt, als die eigentliche zeile, in der die klammer fehlt, da durch die fehlende klammer sich an der betreffenden stelle nur der programmablauf ändert. kleines beispiel:
$x=mt_rand(0,10);
if($x {
echo "x ist kleiner oder gleich 5";
else //hier fehlt logischerweise eine klammer
{
echo "x ist größer 5";
}
// hier wird der parser jetzt meckern, weil eine schließende klammer fehlt, parsen kann er bis hier, allerdings mit anderer als der gedachten logik.ps: includes und requires können die zeilen ebenfalls verschieben.