Homepage selbermachen 7.852 Themen, 35.619 Beiträge

Proton: Falsche Zeilenangabe bei Parse Errors

schooters / 4 Antworten / Baumansicht Nickles

Hallo, ich habe seit kurzem ein Problem mit Proton:

Das Programm zeigte mir eigentlich immer volle Kanne korrekt an, in welcher Zeile denn
nun ein pHP fehler vorlag, seit neuestem zeigt es immer +/- ein paar zeilen an, wo der
fehler steckt und ich muss trotzdem suchen. hängt das damit zusammen, dass dateien inkludiert werden?

was kann das sein?

bei Antwort benachrichtigen
Zaphod schooters „Proton: Falsche Zeilenangabe bei Parse Errors“
Optionen

.... du musst die includierten Ze3ilen mit einrechnen - der Parser sieht das als eine Datei ...
HTH, Z.

bei Antwort benachrichtigen
T E S T E R Zaphod „.... du musst die includierten Ze3ilen mit einrechnen - der Parser sieht das als...“
Optionen

habe das problem ebenfalls, aber auch bei dateien, die keine includes beinhalten

bei Antwort benachrichtigen
xafford schooters „Proton: Falsche Zeilenangabe bei Parse Errors“
Optionen

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.

Pauschalurteile sind immer falsch!!!
bei Antwort benachrichtigen
xafford Nachtrag zu: „der editor ist es nicht, der den fehler entdeckt und zurückgibt, das ist der...“
Optionen

noch was: logische fehler in funktionen und klassen (keine syntaxfehler) können teilweise auch in den zeilen gemeldet werden, in denen diese objekte instanziert werden und nicht in der funktion oder klasse selbst...

Pauschalurteile sind immer falsch!!!
bei Antwort benachrichtigen