mod: Konstruktor: Klasse erst später definiert

Beitrag lesen

Ich habe ein Klasse head, wo ich per Konstruktor andere Variablen und Klassen hereinlade. Mein Problem ist, dass die Klasse head später im Programm eine andere Klasse namens underClass benötigt und mit dieser auch arbeitet! Diese kann ich ja nicht wie bei der Definition von head hereinladen, da diese noch nicht existent ist. underClass benötigt wiederum die Klasse $head selber.

Definiere "noch nicht existent". Unterscheide bitte außerdem zwischen Klasse und Objekt.

Ich meine ein Objekt, dass ich in einem anderen Objekt verwenden möchte.

PHP macht zunächst einen Compilierlauf, bevor es mit der Ausführung anfängt. Klassen und Funktionen, die später im Script stehen, sind bereits "weiter oben" bekannt. Zudem ist es kein großer Akt, Klassen und Funktionen zuerst zudefinieren oder die Dateien zu inkludieren, in denen sie stehen. Klassen sind also immer da. Anders sieht das eventuell mit Objekten aus, also Instanzen der Klassen.

Ein Beispiel: Forum - Rechte

Erklär zu dem Beispiel bitte die Anforderung ohne auf technische Implementierungsdetails einzugehen. Vielleicht kann man den Knoten ja anderweitig entwirren. Zum Beispiel so, dass ein Rechte-Objekt einmalig für den aktuellen User angelegt wird und dieses dann an die Komponenten weitergereicht wird, die es benötigen.

Ich wollte wie du es bereits im letzten Thread gesagt hast, das komplette Objekt in ein anderess Objekt per Referenz inkludieren.

0 55

Konstruktor: Klasse erst später definiert

mod
  • php
  1. 0
    mod
  2. 0
    dedlfix
    1. 0
      mod
      1. 0
        mod
        1. 1
          Sven Rautenberg
          1. 0
            mod
          2. 0
            mod
            1. 0
              dedlfix
              1. 0
                mod
                1. 0
                  Sven Rautenberg
                  1. 0
                    mod
                    1. 0
                      dedlfix
            2. 0
              Sven Rautenberg
              1. 0
                hotti
                1. 0
                  Sven Rautenberg
                  1. 0
                    hotti
                    1. 2
                      Sven Rautenberg
              2. 0
                mod
        2. 0
          dedlfix
          1. 0
            mod
            1. 0
              hotti
              1. 0
                mod
                1. 0
                  hotti
                  1. 0
                    dedlfix
                    1. 0
                      hotti
                      1. 0
                        dedlfix
                        1. 0
                          hotti
                          1. 0
                            dedlfix
                            1. 0
                              Sven Rautenberg
                              1. 0
                                hotti
                                1. 0
                                  dedlfix
                                  1. 0
                                    hotti
                                    1. 0
                                      dedlfix
                              2. 0
                                asdf
                            2. 0
                              hotti
                              1. 0
                                Sven Rautenberg
                                1. 0
                                  hotti
                                  1. 1
                                    Sven Rautenberg
                                    1. 0
                                      hotti
                                2. 1
                                  asdf
                              2. 0
                                dedlfix
                                1. 0
                                  hotti
                                  1. 0
                                    dedlfix
                                    1. 0
                                      hotti
                                      1. 1
                                        Sven Rautenberg
            2. 0
              dedlfix
      2. 0
        dedlfix
        1. 0
          Tom
          1. 0
            dedlfix
  3. 0
    hotti
    1. 0

      @mod Vorsicht

      Christopher
      1. 0
        hotti
        1. 0
          Tom
          1. 0
            hotti