Rozšíření existující moduly – presentery
- Václav Pávek
- Backer | 100
Zdravím, chtěl bych se optat jak by jste řešili rozšiřování modulů a dílčích komponent jako jsou formuláře.
Potřebuji docílit toho abych mohl rozšiřovat moduly/komponenty aniž bych musel zasahovat do původních modulů. Také bych toto rád co nejvíce automatizoval.
Příklad: mám CMS kde moduly jsou v namespace Modules např. pro modul statických stránek Modules\PageStatic.
Otázka zní jak přehledně umožnit rozšíření funkcionality těchto modulů resp. i formulářů apod. Líbilo by se mi kdyby se podařilo vytvořit něco jako ve frameworku Kohana – https://kohanaframework.org/…kohana/files. Tj. pokud bych chtěl rozšířit funkcionalitu tak bych použil stejný namespace ale v jiném umístění.
Napadlo mě upravit si RobotLoader aby pokud již danou třídu má své class mapě tak aby nekončil chybou. Případně přepsat PresenterFactory (aby prvně hledal v custom a poté v origin) nebo případně použít DI\Extension – zde bych potřeboval navést správným směrem.
Předem díky za váš čas, názory a vaše zkušenosti s touto problematikou.
- David Matějka
- Moderator | 6445
Tj. pokud bych chtěl rozšířit funkcionalitu tak bych použil stejný namespace ale v jiném umístění.
na to ani nemysli :) (btw, podobne otresny napad byl jeden z mych prvnich prispevku na foru) :D
Pro presentery si uprav PresenterFactory, aby to hledalo ten presenter
nejdriv v NS treba App
a az potom v puvodnim – pak muzes
v aplikaci dedit prezentery z toho puvodniho modulu. Pro inspiraci (nebo to
rovnou muzes pouzit, snad si poradis bez doc) muzes kouknout na librette/presenter-factory
Pro zbytek (sluzby, komponenty…) si vystacis s upravou nastaveni DIC, v configu vzdy prepises definici konkretni sluzby, aby pouzivala jinou implementaci