Jmenné prostory uvnitř aplikace

- Jan Jakeš
- Člen | 177
V souvislosti s chystanou změnou namespaces uvnitř Nette bych ještě rád zavedl diskusi na téma jak Nette zachází se jmennými prostory aplikace.
Aktuální stav: Nette používá namespaces pro moduly,
přičemž pro modul Admin hledá presenter
AdminModule. Pokud vím, tak je to vše a ani zde není prostor pro
žádné nastavení.
O co jde: Osobně např. na modelové vrstvě aplikace používám namespaces ve stylu:
App\Model\EntitiesApp\Model\RepositoriesApp\Model\Proxies
atd.
Rád bych něčeho podobného dosáhl např. i u presenterů:
App\Presenters\Homepage
U presenterů bych navíc klidně zrušil vynucování slova
Presenter v názvu třídy. Podle mě je to v namespaces verzi
zbytečné.
Problém pak nastává u modulů:
App\AdminModule\Presenters\Homepage?App\Modules\Admin\Presenters\Homepage?
nebo nějak jinak?
Obecně si myslím, že by bylo dobré mít v tomto nějaký doporučený
scénář, ale také možnost snadno ho změnit. Tedy například mít
k dispozici nějaké metody ve stylu
$application->setNamespace() nebo
$application->setPresentersNamespace(), apod.
Co si o tom myslíte?

- Jan Jakeš
- Člen | 177
Honza Marek napsal(a):
Můžeš si napsat vlastní IPresenterFactory
Jasně, já se ale ptám hlavně na to, jestli by se nevyplatilo podporovat toto přímo v Nette. Nebo tobě připadá současný stav ideální?
Editoval Juan (5. 4. 2011 11:22)

- Filip Procházka
- Moderator | 4668
PresenterFactory + registry na prefixy + Presenter::formatLayoutTemplateFiles + Presenter::formatTemplateFiles
Nepříjde mi to jako tak zásadní feature, aby to muselo být přímo v FW, ikdyž…