dedlfix: Noch eine frage zu einer kleinen Klasse

Beitrag lesen

echo $begrüßung;

if (is_array($RequiredFields))
        foreach ($RequiredFields as $PostKey)
          if (isset($_POST[$PostKey]) AND empty($_POST[$PostKey]))
            $this->error[] = $PostKey; // Wenn ein Fehler vorliegt, Array „error“ anlegen und mit Werten füllen
      else
        $this->error = false;  // Ansonsten false zurückgeben

Wenn $RequiredFields zwar ein Array ist, aber ein leeres, weil zum Beispiel die Felder alle optional und keine Pflichtfelder sind, bleibt $this->error auf null stehen, was einem false entspricht. Ist das so gewollt?

Und im Script, wo ich dann diese Funktion aufrufe sieht es wie folgt aus:
$MyErr = new InputErrorCheck(array('name','beitrag')); [...]
   echo [...] InputErrorCheck::errorMessage($MyErr->error, 'css') [...];

Hier brauchst du keine statische Methode sondern kannst eine "normale" verwenden. errorMessage() braucht den Parameter $MyErr->error nicht sondern kann intern auf $this->error zugreifen. Der Aufruf erfolgt à la $MyErr->errorMessage('css'). Statt String für $isKeyOf zu übergeben könntest du Klassenkonstanten (z.B. als Integer) definieren und diese übergeben. Hört sich zwar nach mehr Tipparbeit an, ist aber halb so wild, wenn du eine PHP-IDE mit Codevervollständigung nimmst. Und es geht besser daraus hervor, dass du feststehende Parameterwerte verarbeitest und nicht einfach irgendwelche Stringwerte.

Eine statische Methode wäre nur dann angebracht, wenn du auch andere Arrays als das in InputErrorCheck definierte $error prüfen willst.

» Und schau dir mal PHPDoc an.
Danke für den Hinweis, die PHPDoc kannte ich nicht, benutze lediglich dieses Manual.

PHPDoc ist kein Manual sondern eine Art, wie man Funktionen, Variablen, Klassen, etc. mit PHP-Kommentaren versieht. Diese sind auch maschinell auswertbar. Man kann damit beispielsweise eine API-Dokumentation erstellen oder komfortabel mit PHP-Entwicklungsumgebungen arbeiten. Letztere werten die Kommentare aus und können beim Tippen unterstützen durch Anzeige der Funktions- und Parameterbeschreibung und durch Codevervollständigung.

echo "$verabschiedung $name";