yakamara / yform

YForm für REDAXO 5 – Formulare im Frontend und Backend mit Verwaltung von Datenbank-Tabellen.
MIT License
77 stars 55 forks source link

YForm darf die Exceptions nicht abfangen. #448

Open dergel opened 6 years ago

dergel commented 6 years ago

sonst greift Whoops nicht

staabm commented 4 years ago

konkrete repro schritte?

christophboecker commented 4 years ago

Es gibt gewiss Exceptions, die der Manager abfangen darf (und sollte). Konkret ist das hier die fragliche Position: https://github.com/yakamara/redaxo_yform/blob/5e724ff094b3888bd99ea883a33ccf108630b400/plugins/manager/lib/yform/manager.php#L354-L375 Ausgelöst habe ich den Fehler mit einem eigenem Datentyp, der aus einer API-Klasse die URL abrufen wollte. Und in der Klasse war ein Kompilierfehler( abschließende } fehlte).

Spannend finde ich, das keine komplatte Seite mehr ausgegeben wurde:

grafik

Der HTML-Code fängt an mit

<div class="alert alert-danger">Transaktion wurde wegen folgendem Fehler nicht ausgeführt: syntax error, unexpected end of file, expecting function (T_FUNCTION) or const (T_CONST)</div><div class="row"><div class="col-sm-3 col-md-3 col-lg-2 kv30-yf-searchform kv30-yf-searchform-hidden"><section class="rex-page-section">

Alles davor fehlt, daher die seltsame Ausgabe. Der Rest des Seitenrahmens bis hin zu /body und /html ist da. Da geht wohl Buffer verloren.

christophboecker commented 4 years ago

Der Fehler passierte in einem rex_fragment, dass beim Aufbau des YForm-Datenfeldes im Einsatz ist und seinerseits eine statische Funktion aufrief, deren Klasse den Syntaxfeler hatte. Allerdings ist es mir nicht gelungen, das Fehlerbild in einem simplen Testszenario nachzustellen. Von daher wird es wohl an irgendwas ganz Speziellem in meiner Umgebung liegen und kein allgemein relevantes Problems ein.