Hallo,
ich bin mir sicher das Thema wurde bestimmt schon mal irgendwo ausfühlich erklärt, jedoch finde ich hierzu nichts passendes oder ich habe es bis jetzt einfach noch nicht ganz verstanden.
Als Lernzweck habe ich mich an eine CMS rangesetzt die Modular funktionieren soll mit dem Ziel, dass ich theoretisch jede einzelne Stelle beliebig erweitern kann.
Nun komme ich langsam an meine Grenzen. Ich weiß nicht ob es einfach nur eine Denkblockade ist oder ich noch nicht den richtigen Ansatz gefunden habe.
Hier ein kleines Beispiel, wie es am Ende funktionieren sollte:
Ich habe eine CMS mit einem Menü und Content, jedoch keine Benutzer etc., alles also ganz simpel.
Nun erstellt eine Person (Person A) eine Erweiterung für die CMS. Er möchte Benutzer, Benutzergruppen und Rechte einfügen. Natürlich auch, dass manche Menüpunkte nur dann sichtbar sind, wenn man die passenden Rechte dafür hat. Also erweitert er die Menu Klasse, indem er z.B. bei $menu->isVisible eine weitere Abfrage einfügt ob man die passenden Rechte hat.
Jetzt aber hat eine noch weitere Person (Person B) ebenfalls eine Erweiterung für die CMS geschrieben. Er möchte eine Sortierung für das Menü einbauen. Also erweitert er die Menu Klasse, indem er vor die $menu->display Methode eine Sortiermethode einbaut.
Nun komme ich jedoch zur Denkblockade.
Theoretisch müsste Person A die Klasse Menu extenden. Person B müsste praktisch die Klasse von Person B extenden. Jedoch weiß Person B gar nicht das es eine andere Erweiterung gibt.
Und soweit ich weiß, kann man bei extend keine Variable am Ende ranhängen.
Hintergedanke dazu:
Was ist wenn Person A und Person B die selbe Methode erweitern wollen? Ist es möglich, dass beides, je nachdem wie es programmiert wurde, funktionieren und sich nicht blockieren?
Würde mich über eure Gedanken sehr freuen
ich bin mir sicher das Thema wurde bestimmt schon mal irgendwo ausfühlich erklärt, jedoch finde ich hierzu nichts passendes oder ich habe es bis jetzt einfach noch nicht ganz verstanden.
Als Lernzweck habe ich mich an eine CMS rangesetzt die Modular funktionieren soll mit dem Ziel, dass ich theoretisch jede einzelne Stelle beliebig erweitern kann.
Nun komme ich langsam an meine Grenzen. Ich weiß nicht ob es einfach nur eine Denkblockade ist oder ich noch nicht den richtigen Ansatz gefunden habe.
Hier ein kleines Beispiel, wie es am Ende funktionieren sollte:
Ich habe eine CMS mit einem Menü und Content, jedoch keine Benutzer etc., alles also ganz simpel.
Nun erstellt eine Person (Person A) eine Erweiterung für die CMS. Er möchte Benutzer, Benutzergruppen und Rechte einfügen. Natürlich auch, dass manche Menüpunkte nur dann sichtbar sind, wenn man die passenden Rechte dafür hat. Also erweitert er die Menu Klasse, indem er z.B. bei $menu->isVisible eine weitere Abfrage einfügt ob man die passenden Rechte hat.
Jetzt aber hat eine noch weitere Person (Person B) ebenfalls eine Erweiterung für die CMS geschrieben. Er möchte eine Sortierung für das Menü einbauen. Also erweitert er die Menu Klasse, indem er vor die $menu->display Methode eine Sortiermethode einbaut.
Nun komme ich jedoch zur Denkblockade.
Theoretisch müsste Person A die Klasse Menu extenden. Person B müsste praktisch die Klasse von Person B extenden. Jedoch weiß Person B gar nicht das es eine andere Erweiterung gibt.
Und soweit ich weiß, kann man bei extend keine Variable am Ende ranhängen.
Hintergedanke dazu:
Was ist wenn Person A und Person B die selbe Methode erweitern wollen? Ist es möglich, dass beides, je nachdem wie es programmiert wurde, funktionieren und sich nicht blockieren?
Würde mich über eure Gedanken sehr freuen
Kommentar