Funktion in Oberklasse automatisch beim Instanziieren aufrufen?

NTDY

Erfahrenes Mitglied
Gibt es in PHP eine Möglichkeit, dass eine Funktion oder Methode einer Oberklasse automatisch aufgerufen wird, wenn eine Unterklasse diese ableitet?

Praxisbezogen wäre dies so:

In der Oberklasse soll ein "Array von Inhalten" bestimmte Funktionen durchlaufen. Wenn diese Funktionen durchgelaufen sind sieht dieses Array in der Unterfunktion ggf. schon anders aus.

*Bsp: Im Array steht, dass die Inhalte im Array nicht aufgerufen werden sollen oder dass ein bestimmtes Anzeige-Template zur Anzeige genutzt werden soll.

PHP:
class Oberklasse {
  public function tue_etwas(){
  }
}

class Unterklasse extends Oberklasse {
}
 
Ich habe fast nichts verstanden. Grundsätzlich ist es so:

Klassen-Methoden werden in PHP grundsätzlich veerbt, wenn sie public oder protected sind. Wenn man bei deinem Beispiel ein Objekt der Klasse "Unterklasse" erzeugt, kann man ohne weiteres die Methode "tue_etwas" aufrufen. Mir scheint aber, das nicht das, was du meinst.

Vielleicht liest du erstmal das entsprechende Kapitel in der PHP-Doku. Wenn dann immer noch etwas unklar ist, kannst du ja die richtigen Begriffe verwenden, um deine Frage zu stellen :)
 
Stimmt. Ich habe es nicht eindeutig erklärt.

Letztlich will ich, dass eine Funktion in Oberklasse immer aufgerufen wird, egal, ob ich es in der Unterklasse angebe oder nicht.

PHP:
class Oberklasse {
  public function tue_etwas($array){
    return $modifiziert;
  }
}

class Unterklasse extends Oberklasse {
  function führe_aus($array){
    //gehe zuerst, am liebsten voll automatisch zuerst in Oberklasse->tue_etwas($array)
   //gibt $modifiziert aus und bearbeite es hier weiter
 }
}
 
ganz einfach über parent
PHP:
class Unterklasse extends Oberklasse {
  function führe_aus($array){
    $array = parent::tue_etwas($array);
    //TODO: Weitere verarbeitung
  }
}
 
Und geht das auch automatisch?
Was ist, wenn die Unterklassen von anderen Entwicklern programmierte Teile sind und sie vergessen die Funktion der Oberklasse aufzurufen?
 
Ist mir bei PHP nicht bekannt.
Auch wenn andere Programmierer etwas vergessen - für etwas macht man bei Projekten mit mehreren Programmierern Code-Reviews.
 
Zurück