Hi Leute,
ich bin gerade dabei in die objektorientierte Programmierung von mysqli einzusteigen. Mein Klassenaufbau sieht so aus:
Code: Alles auswählen
class mysqldb extends mysqli {
...
}
$mysqldb = new mysqldb ($host, $user, $pass, $db);
Ich habe diesbezüglich eine Frage:
Wenn ich ...
... verwende, kann ich komfortabel auf das $result direkt zugreifen, z.B. so:
Ich muss dem fetch_array() dabei kein Argument übergeben, sondern ich hänge den Aufruf per -> einfach hinter das Objekt (?)

Ich wollte jetzt eine Methode getAll() kreieren, die genauso funktioniert und mir
alle Datensätze der SQL-Abfrage in Array-Form liefert. Ein Aufruf sollte so aussehen:
Code: Alles auswählen
$result = $mysqldb->query("SELECT ...");
$data = $result->getAll();
Aber hier, an dieser Stelle hakts irgendwie bei mir? Ich weiß nicht, wie ich die Methode getAll zu definieren habe, damit ich die "argumentlos" (also genauso wie das fetch_array()) an das $result (Objekt?) anhängen kann. Mein bisheriger Ansatz sieht so aus:
Code: Alles auswählen
public function getAll ($result)
{
while ($row = $result->fetch_array())
{
$data[] = $row;
}
return $data;
}
Allerdings übergebe ich in diesem Fall das Argument $result, was den oben genannten Aufruf eigentlich unmöglich machen würde. Wisst ihr was ich meine? Eigentlich möchte ich genau dieses $result-Argument in Klammern weglassen und die Funktion so kreieren, dass ich sie einfach per -> an mein Objekt (?) anhängen kann. Ich meine, ich hab mal gesehen, dass man ein &-Zeichen vor das Argument beim Definieren der Klasse setzen kann. Ist das in diesem Fall das, was ich suche?