$this->GetIDForIdent … liefert nicht nur ein FALSE, wenn ist die Variable nicht gibt, sondern auch ein Warning. Was besonders in der Modul-Instanz bescheiden ist, weil dann ein PopUp mit dem Warning kommt.
Warum kann die Funktion einfach ein FALSE liefern ohne diese schwachsinnige Warnung?? :mad:
Wenn ich folgendes IF mache:
if ($this->GetIDForIdent($VarIdent) === false)
…dann will ich doch keine bescheidene Warnung haben! :mad:
Ja, kann ich mit einem @ unterdrücken, aber welchen Sinn hat dieses Warning? Außer einen zu nerven…
>> Und war das schon immer so, oder ist das neu? Ich meine das war früher nicht?!? …aber bin mir nicht sicher…
Ips-Ding, die Methode gehört ja zu Klasse ipsmodule.
Den Fehler musst du ja nicht unterdrücken, wenn du sicher bist dass du z.b. im Create eine Objekt mit diesem Ident erstellt hast.
Die Fehlermeldung bekommt dann nur der User, welcher das Objekt gelöscht hat
Ich warte eh sehnsüchtig auf direkte Methoden der ipsmodule-Klasse um Statusvariablen zu beschreiben.
Dann fällt zumindest dort das GetIDForIdent weg.
Der Befehl sucht nach der ObjektID des Objekt mit dem Ident Ident und gibt diese zurück. Sollte der Ident nicht vorhanden sein, wird eine Fehlermeldung erzeugt.
OK, der normale Rückgabewert ist ein Integer, aber in diesem Fall ein false. Vielleicht ist die Warnung darin begründet …
Auch andere Get Methoden haben das gleiche Verhalten. Von daher ist es konsistent.
Das ist so gewollt. Dein Modul soll wissen und selber sicherstellen, dass die Variable auf die es zugreift existiert. Es sollte niemals notwendig sein zu prüfen ob eine Variable für einen Ident existiert. Falls der User eine Variable bewusst löscht, soll das Modul auch entsprechend fehlerhaft sein, da es nicht korrekt ist Status Variablen zu löschen.
Wenn eine Variable gelöscht wurde, dann sollte eine Fehlermeldung kommen - gebe ich dir recht. Mache ich auch so.
ABER ich will da eine „schöne“ und eindeutig verständliche Fehlermeldung vom Modul ausgegeben haben und nicht ein „doofes Warning“ im Meldungen-Fenster…
Wie gesagt, ich unterdrücke es halt mit @ und kümmere mich dann selbst um die Fehlermeldung. Fand es nur unschön da mit @ unterdrücken zu müssen und dachte das könnte man ggf. einfach „abstellen“ von eurer Seite aus
War ja nur eine „Idee“