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

Verhindert Fehlermeldung bei nicht existentem Key in getValue() #1520

Open christophboecker opened 3 months ago

christophboecker commented 3 months ago

Wenn mit $dataset->getValue($key) auf einen Key zugegriffen wird, der nicht existiert, wird ein Fehler ausgeworfen (Undefined array-key). Die unschöne Meldung lässt durch ein intern vorgeschaltetes if hasValue verhindern. Da hasValue bereits eine Abfrage auf dataLoaded durchführt, enthällt die Abfrage in der getValue-Methhode.

siehe https://github.com/FriendsOfREDAXO/neues/issues/94#issuecomment-2306902950

tbaddade commented 3 months ago

Damit erhält man aber keine Fehlermeldung mehr, wenn der Key nicht existiert und das halte ich für wichtig anstatt dann einfach null zu liefern.

christophboecker commented 3 months ago

Wer Wert darauf legt, das Fehlen des Wertes von NULL zu unterscheiden, kann ja alternativ auch mit hasValue abfragen was Sache ist.

tbaddade commented 3 months ago

Hier geht es doch um den Feldnamen und nicht um den Wert dessen.

Auch wenn man hasValue()vorschaltet kann immer noch das passieren.

if ($data->hasValue('field')) {
    echo $data->getValue('feild');
}

Und deshalb sollte das bisherige Verhalten beibehalten werden.

christophboecker commented 3 months ago

Ist ja halt ein Vorschlag. Den muss man ja nicht übernehmen. :-)

alxndr-w commented 2 months ago

Sollte dann nicht eine Exception geworfen werden? (Siehe Original-Thread)