dedlfix: Sichtbarkeit von Variablen

Beitrag lesen

Hi!

Auf php.net habe ich leider nicht sehr viel zur Sichtbarkeit von Variablen innerhalb von Klassen gefunden. Bzw. nichts was mit global zu tun hat. Oder hab ich nicht gut genug gesucht?

Alles was zu Variable Scope gesagt wird, gilt grundsätzlich auch für Funktionen innerhalb von Klassen.

Ich habe 4 "Standard-Klassen": Core, Model, View und Controller.
Model, View und Controller erweitern Core. Model und Controller werden wiederum durch Model- und Controller-Klassen verschiedener Module erweitert.

Ich wüsste jetzt nicht, was Model, View und Controller für fachliche Gemeinsamkeiten haben, so dass sie eine Basisklasse rechtfertigen. Das Model beispielsweise ist zum Daten-Handling da. Es weiß üblicherweise gar nichts von irgendwelchen Dingen der Ausgabe. Selbst der Controller hat im Prinzip keine bis wenig Ahnung, wofür die Daten da sind, die er zwischen Model und View vermittelt. Auch ist nicht festgelegt, dass Views immer einen Seitentitel oder ähnliches haben. Die Daten können ja auch via Ajax nur einen Teil der Seite repräsentieren. Ich sehe also keinen Grund, warum der Controller oder irgendeine Basisklasse den Seitentitel kennen muss.

Vielleicht hast du ja deine eigenen Vorstellungen und es ist gar nicht das bekannte MVC-Muster, sondern nur etwas, das dieselben Begriffe verwendet. Schau dir jedenfalls mal jene Sven-Rautenberg-Antwort an, besonders seine Ausführungen zum SOLID-Prinzip.

Jetzt lade ich über den Controller von Modul X Angaben zur Seite wie z.B. Seitentitel. Anschließend kommt Modul Y - z.B. zur Anzeige von Artikeln - und dessen Controller soll den Seitentitel ändern/erweitern können.

Ist es denn nötig, dass Modul X den Seitentitel setzt, obwohl es doch gar nicht das Haupt-Modul ist, sondern Modul Y? Und gibt es denn nicht einen koordinierenden Controller, der die einzelnen Module und deren Controller aufruft und dabei solche Daten für die generelle Seitengerüst-View zusammenträgt?

Lo!