Hallo Leute,
ich habe ein Problem, zu dem ich schon ein bisschen recherchiert habe, aber nicht wirklich zu einer Lösung gekommen bin. Als Zusatzinfo: ich habe gerade entdeckt, dass man ja schon PHP 7.0 nutzen kann, eventuell liegt also die Lösung darin, kenne mich da aber noch nicht komplett aus.
Mein Problem:
Eigentlich wollte ich eine eigene Klasse zum checken von Formulareingaben erstellen.
Bisher hat das in etwa in dem Stil funktioniert:
[CODE]class formcheck_old {
private $variable;
public $formerrors = array();
public function __construct ($id = "") {
//diverse Kontrollen zum Formular selbst
//bei Fehlern wird der Name des Input-Feldes in $formerrors eingefügt
}
public function select ($req, $value, $varname, $values) {
//diverse Kontrollen zum select (ist das value in einem bestimmen array vorhanden, etc.)
}
public function text ($req, $value, $varname) {
//diverse Kontrollen zum Textfeld
//bei Fehlern wird der Name des Input-Feldes in $formerrors eingefügt
}
.
.
.
function closecheck() {
//wenn $formerrors Fehler enthält, wird false zurückgegeben, ansonsten true
}
[/CODE]
Das hatte den Vorteil, dass ein komplettes Formular mit unterschiedlichen Funktionen überprüft wird und anschließend alle Ergebnisse / Fehler zusammengefasst und ausgewertet werden können.
Nun wollte ich das ganze eigentlich ausbauen und Klassen für die einzelnen Input-Felder festlegen, da ich so flexibler mit Variablen, etc. arbeiten kann, bzw. ich auch eine Grundklasse erstellen kann, die alle gemeinsamen Eigenschaften enthält und dann nur noch um spezielle Dinge durch extends erweitert wird.
Problem an der ganzen Sache: Ich kann (meiner Meinung nach) keine Klassen in Klassen erstellen (sprich eine Klasse für das Formular, in welcher sich die Klassen der Input-Felder befinden). Ich würde gerne dennoch auf die gemeinsame Variable $formerrors mit allen Klassen für die Inputfelder zugreifen können.
Ich weiß nicht, ob ich den Sachverhalt ausreichend erklärt habe. Mich würde vorallem interessieren, ob es die Möglichkeit überhaupt gibt in dieser Art Klassen in einer Klasse zu definieren. Es geht mir nicht um: Da gibt es schon vorgefertigte Klassen um Formulare zu kontrollieren, da dies ein generelles Problem ist, welches auch für andere Beispiele zutreffen kann.
Würde mich sehr über eure Hilfe freuen!