Jmenné prostory uvnitř aplikace

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Jan Jakeš
Člen | 177
+
0
-

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\Entities
  • App\Model\Repositories
  • App\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?

Honza Marek
Člen | 1664
+
0
-

Můžeš si napsat vlastní IPresenterFactory

Nox
Člen | 378
+
0
-

Souhlasim, taky mi to přijde zvláštní že frontend jakoby nepatří do namespace aplikace…

Jan Jakeš
Člen | 177
+
0
-

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
+
0
-

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ž…

Majkl578
Moderator | 1364
+
0
-

Vůbec bych nebyl proti, kdyby aplikace měla nějaký výchozí namespace, například App.

juzna.cz
Člen | 248
+
0
-

Ja kdyz vidim novacky co delaji za kouzla kvuli namespaces, tak bych se bal jim je nutit v defaultu do jejich aplikaci :/

Jan Jakeš
Člen | 177
+
0
-

Nikoho nechci do namespaces nutit, jen si myslím, že by Nette, které samo silně staví na namespaces a hlásá od jejich podpoře ještě dávno před vydáním PHP 5.3, mělo aspoň trochu lepší podporu pro aplikace, které namespaces využívají.