WSC 5.2 WSC 5.3 AbstractForm

  • Die AbstractForm-Klasse ist im WCF die Mutterklasse aller Fomulare.

    1 Erklärung


    Die AbstractForm-Klasse ist die Mutterklasse aller Formulare, die ein Benutzer ausfüllen kann. Sämtliche Seiten, auf denen sich ein Formular befindet, sollten ihr Verhalten von der AbstractForm-Klasse erben. Wie auch eine Page-Datei muss sich die Datei mittels des files-PiP installiert werden. Alle Form-Dateien befinden sich im Ordner Endanwendung/lib/form/. Wichtig ist zu wissen, dass die AbstractForm-Klasse von der AbstractPage-Klasse erbt und somit alle dort vorhandenen Funktionen und Variablen ebenfalls verfügbar sind. Die AbstractForm-Klasse erweitert nur die Funktionalität einer Page-Datei.


    2 Die AbstractForm auf GitHub


    https://github.com/WoltLab/WCF…rm/AbstractForm.class.php


    3 Verfügbare Funktionen


    3.1 submit


    Am Anfang der readData()-Funktion wird die Funktion submit() aufgerufen, sofern die Variable $_POST oder $_FILES != empty (nicht leer) ist. Die submit()-Funktion übernimmt die weitere Steuerung der Funktionsaufrufe. Die Funktion submit() wird i.d.R bei einer Vererbung der Datei nicht gesetzt, da i.d.R nur die nachfolgenden Funktionen von Interesse sind.


    3.2 readFormParameters


    Die Funktion readFormParameters() ist für das Auslesen der Daten aus dem Formular verantwortlich.

    PHP
    /**
     * @inheritDoc
    */
    public function readFormParameters() {
        parent::readFormParameters();
        if (isset($_POST['fieldName'])) $this->fieldName = StringUtil::trim($_POST['fieldName']);
    }


    3.3 validate


    Die Funktion validate() dient zur Validierung der übernommen Daten aus dem Formular. Denkt immer daran, jede Eingabe ist "böse"!



    3.4 validateSecurityToken


    Seit dem WSC 5.2 ist die Funktion validateSecurityToken() hinzugekommen. Diese wird automatisch am Ende der Funktion validate() aufgerufen und überprüft, sofern der Parameter $_POST['t'] gesendet wurde, ob das Security Token valide ist. Überschreibt man die Funktion validate(), sollte man selber daran denken, die Funktion validateSecurityToken() aufzurufen.



    3.5 save


    Die Funktion save() dient zur Speicherung der aus dem Formular übernommenen Daten.

    3.6 saved


    Die Funktion saved() stellt eine Besonderheit dar, da sie nicht automatisch ausgeführt wird. Der jeweilige Entwickler muss die Funktion saved() manuell innerhalb der save()-Funktion aufrufen. Die saved()-Funktion wird verwendet, um Drittentwicklern die Möglichkeit zu geben, sich nach der Speicherung in die eigene Datei mittels EventListener einzuklinken.

Share