tobias-digital Geschrieben 7. März 2005 Geschrieben 7. März 2005 Hi! Wie mache ich das am besten? Ich muss auf eine Eigenschaft der übergeordneten Klasse zugreifen. Also ich habe eine Basisklasse, die bestimmte Eigenschaften hat, und ich will diese Eigenschaften auch in den Sub und Subsubklassen zur Verfügung haben. Danke und Gruß, Tobias
etreu Geschrieben 7. März 2005 Geschrieben 7. März 2005 Attribute der Superklasse sind auch automatisch Attribute der Subklasse. also: class A { var $item; function A() { // Konstruktor // tu was! } } class B extends A { function B() { // Konstruktor parent::A(); // entspricht super() in Java $this->item = "wert"; // steht implizit zur Verfügung } } [/PHP]
tobias-digital Geschrieben 8. März 2005 Autor Geschrieben 8. März 2005 Hmm, ok versteh ich, damit kann ich auf Methoden der aber wie realisiere ich folgendes: class A { var $dbLink; function A() { // Konstruktor $this->dbLink = connect(); // dbLink enthält jetzt Link zur DB $b = new b(); } } class B extends A { function B() { $sql = 'SELECT foo FROM bar'; // Hier hätte ich jetzt gerne die Variable $dbLink zur Verfügung. } } [/PHP] Irgendwie steh ich aufm Schlauch.
etreu Geschrieben 8. März 2005 Geschrieben 8. März 2005 Wenn es nur darum geht die Variable $dblink zur Verfügung zu haben mache es doch so: class A { var $dbLink; function A() { // Konstruktor $this->dbLink = connect(); // dbLink enthält jetzt Link zur DB } } class B extends A { function B() { parent::A(); $sql = 'SELECT foo FROM bar'; // Hier hast du jetzt Zugriff mittels $this->dblink } } [/PHP]
kills Geschrieben 8. März 2005 Geschrieben 8. März 2005 oder auch: class A { var $dbLink; function A() { // Konstruktor $this->dbLink = connect(); // dbLink enthält jetzt Link zur DB $b = new b(); } } class B extends A { function B() { parent::A(); // hier die Basisinitialisierung... $sql = 'SELECT foo FROM bar'; var_dump( $this->dbLink); } } [/PHP] Gruß, Markus Edit: omg Enrico hat ja das gleiche geschriebe... :floet:
etreu Geschrieben 8. März 2005 Geschrieben 8. März 2005 Fast, ich habe nur deine "tödliche" Schleife weggelassen.
kills Geschrieben 8. März 2005 Geschrieben 8. März 2005 Fast, ich habe nur deine "tödliche" Schleife weggelassen. sorry
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden