Andere Klasse aus Klasse aufrufen
ich hab eine Klasse für Datenbank und will jetzt diese Klasse aus einer anderen klasse heraus ansprechen.
Ich würde das gerne ohne global in jeder function machen und auch ohne extends. gibt es da noch andere möglichkeiten, die klasse anzusprechen, wenn ich in ner anderen klasse bin, weil einfach $db->query(" ... "); funktioniert nicht |
ja, man kann klassen vererben.
PHP-Code:
http://www.julianmoritz.de/selfphp/class.php siehe auch da: http://www.dclp-faq.de/q/q-klassen-vererbung.html |
achso OHNE extends *ggg*
ja, gibt es auch...du kannst die instanz der klasse einfach mitübergeben. PHP-Code:
|
ja, das alles weiß ich dass es geht. wäre es aber möglich, einfach mit $db->query("...") was aufzurufen, wenn ja, muss ich dafür irgendwas mit global oder so bestimmen?
ging mir nur darum, dass ich quasi "einfach mal so" aus der klasse heraus die db-klasse aufrufen kann.... wenn das so net geht, muss ich mir wohl für jede klasse ne instanz-func schreiben edit: okay, habs raus, wie es geht, mit kleinem umweg PHP-Code:
|
das ist aber kein sauberer programmierstil und die wiederverwendbarkeit der klasse sinkt enorm.
|
Mach dich mal ueber 'Singleton' schlau. Such einfach mal im Forum od. google.
|
Hi @all,
ich habe ebenfalls eine Frage / Problem. Die Fehlermeldung bekomme ich durch den Aufruf der Funktion "$b_weg = $this->db_query($b_query);" aus der Classe "class user_del" heraus. Rausgefunden habe ich das es am fehlenden "$this->conn" liegt. Wenn ich aus dem Normalen PHP-Code auf die Funktion zugreife "$result = $db->db_query($query);" funktioniert es aber nicht von der Kind-Classe in die Eltern-Classe. Weis jemand wie ich den Fehler beheben kann? Zitat:
PHP-Code:
|
also, wenn du die klasse aus dem php-code aufrufst, machst du das sicher so:
$obj1 = new datenbank(); $obj1->db_connect( $diezugangsdaten ); $res = $obj1->db_query($query); klaro, es gibt keinen fehler. wenn du nun aber innerhalb der klasse user_del einfach nur $this->db_query( $query ); machst gibts nen fehler, klaro, weil du ja eben noch nicht zur db verbunden bist. genau das steht auch in der fehlermeldung. schreib dir für user_del mal nen konstruktor in dem zur db verbunden wird, dann dürfte das kein problem mehr sein. |
$db->db_conn();
Hier wird doch die Funktion zum Verbindungsaufbau aufgerufen und das noch vor dem Aufruf der Funktion in der Kind-Classe ? OOP ist noch Neuland für mich, kleine Code-Beispiele wären fürs verstehen besser. ;-) |
aaaalso...
um ne sql-abfrage zu machen brauchst du die verbindung zur db. das hat erst mal nix mit oop zu tun. wenn du nun in den child-class auch ne sql-abfrage machen willst, musst du vorher eben eine verbindung zur datenbank starten. PHP-Code:
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 09:43:16 Uhr. |
Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.