Formulare, php & OO

barney_hh

Mitglied
Hallo alle miteinander!

Folgendes "Problem":

bastle gerade an einem OO php Beispiel; habe ein Klasse Kunde, die zwei Subklassen Firmenkunde und Geschäftskunde hat.

Nun werden in einem HTML Formular Daten ausgefüllt und an Kunden.php geschickt.

Meine Frage:

die übergebenen Daten aus dem HTML Formular, müssen die a la

PHP:
$name=$_POST["name"];
$kundenArt=$_POST["anschrift"];
...

vorher erst definiert werden ODER kann man diese gleich in eine neue Klasse reinpacken, wie z.B.

PHP:
$neuerKunde= new Kunde($_POST[...]);

Geht das überhaupt so? Bei mir klappt es nicht.

Welcher der beiden Ansätze ist der "saubere"?

Danke schön!
 
Hallo,

nach meinem Wissen geht das kannst du durchaus $_POST["..."] als Parameter nehmen.
So weit ich weiss macht es auch keinen Unterschied ob du die Werte vorher in Variablen packst oder nicht.
 
Hallo,
Ich hoffe ich habe dich richtig verstanden.
Wenn du im Konstruktor, das Parameter annimmst, sollte zweite Möglichkeit funktionieren. Da macht es auch keinen Unterschied, ob du vorher eine temporäre Variable definiert hast. Folglich ist letztere Lösung sauberer. Obwohl ich im Konstruktor solche Daten nicht übergeben würde, sondern eine aussagekräftigere Setfunktion. Im Konstruktor sollte man vielmehr nur Daten verarbeiten und entgegennehmen, die essentiell für die Initialisierun der Klasse sind. Das ist natürlich auch persönliche Geschmackssache, der Übersichtlichkeit halber, würde ich dir aber die Benutzung von SetFunktion (hier z.B. setName($_POST["name"]) ) ans Herz legen.

Du solltest allerdings darauf achten ,dass du im Funktionskörper eine Überprüfung der Daten vornimmst, denn ansonsten werden die Benutzer-Eingaben ungeprüft übernommen, was zu bösen Überraschungen führen kann.
 
Zuletzt bearbeitet:
PHP:
class foo {
  var $bar;
  function foo ($xyz) {
    $this->bar = $xyz;
  }
}
Ich glaub so geht es ...
 
Zurück