Servus.
Kurz zum 'Aufbau' (vereinfacht) meines Systems:
Alle Requests werden über die index.php geleitet. Es gibt 2 Klassen (class System, class Page) wobei in System unteranderem aus der DB, Eigenschaften zu den einzelnen Requests geholt werden. In Page sollen dann alle Eigenschaften je Seite in Variablen gespeichert werden. In der index werden beide Klassn inkludiert.
Nun zu meinem Problem.
Erstelle ich in der index.php eine neue Instanz der Klasse System, steht diese mir zu Verfügung, über all, in jeder Datei die in inkludiere, ausgenommen in Funktionen und anderen Klassen, logisch. Ich möchte nun innerhalb der Klasse System, Variablen aus der Klasse Page (e.g. $Page->Enabled) abrufen bzw verändern können. Gleichzeitig sollen die Änderungen aber auch z.B. in der index.php möglich sein (Ansehen, verändern).
Mit' class System extends Page {}' erstelle ich aber mit System eine Kind-Klasse abgeleitet von Page, ergo unsinn. Erstelle ich in System im Konstruktor eine neue Instanz von Page, ist das natürlich was völlig anderes als die, die ich in der index.php habe.
Meine Frage ist nun:
Wie schaffe ich es, dass ein und die selbe Klasse Page sowohl in z.B. der index.php und in einer weiteren Klasse System zur Verfügung steht?
Gruß.
Kurz zum 'Aufbau' (vereinfacht) meines Systems:
Alle Requests werden über die index.php geleitet. Es gibt 2 Klassen (class System, class Page) wobei in System unteranderem aus der DB, Eigenschaften zu den einzelnen Requests geholt werden. In Page sollen dann alle Eigenschaften je Seite in Variablen gespeichert werden. In der index werden beide Klassn inkludiert.
Nun zu meinem Problem.
Erstelle ich in der index.php eine neue Instanz der Klasse System, steht diese mir zu Verfügung, über all, in jeder Datei die in inkludiere, ausgenommen in Funktionen und anderen Klassen, logisch. Ich möchte nun innerhalb der Klasse System, Variablen aus der Klasse Page (e.g. $Page->Enabled) abrufen bzw verändern können. Gleichzeitig sollen die Änderungen aber auch z.B. in der index.php möglich sein (Ansehen, verändern).
Mit' class System extends Page {}' erstelle ich aber mit System eine Kind-Klasse abgeleitet von Page, ergo unsinn. Erstelle ich in System im Konstruktor eine neue Instanz von Page, ist das natürlich was völlig anderes als die, die ich in der index.php habe.
Meine Frage ist nun:
Wie schaffe ich es, dass ein und die selbe Klasse Page sowohl in z.B. der index.php und in einer weiteren Klasse System zur Verfügung steht?
Gruß.
Comment