Tom: Request Handling

Beitrag lesen

Hello,

public function __construct(){

if(isset($_POST['formular1'])) self::bearbeiteFormular1();
   if(isset($_POST['formular2'])) self::bearbeiteFormular3();
   if(isset($_POST['formular3'])) self::bearbeiteFormular3();
}

Du hast den Aufruf der Bearbeitungsfunktion in die falsche Ebene gelegt.
Im Konstruktor muss nur die passende Methode (z.B. "work()" ) mit dem entsprechenden Formular geladen werden.

Der Aufruf findet aber im Wrapper der Klasse statt.

$class->work();

Dann kannst Du Dir auch statische Klassen sparen.

#---------
Das ist ja seit langem meine Rede:

Wer nur mit statischen Klassen arbeitet, nutzt die OOP nur um der OOP Willen und sollte besser weiterhin imperativ (prozdedural) programmieren.

Aufgrund des Gesamtkonzeptes von PHP und da es eine Interpreter-Sprache ist, kann die klassische Programmierung ohnehin schon verhältnismäßig objektorientiert verwendet werden. Der Aufruf von Funktionen findet auch zur Laufzeit über Namen statt und deren Vorhandensein kann man abfragen. Außerdem kann man auch mit "Array of Functions" arbeiten, also die zuständigen Funktionen erst zur Laufzeit in den Platzhalter einsetzen. Das nennt man dann wohl "späte Bindung" ...

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de