Jak nastavit namespace presenterům?

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

Ahoj, už jsem zjistil, že presenterům (pokud nepoužívám moduly) není dobré nastavovat namespace. Není to dobré proto, že pak aplikace nefunguje. Nebo jsem něco přehlíd a už to jde?

Rád bych měl presentery pro pořádek v namespace alespoň ‚Projekt‘, nebo raději ‚Projekt\Application‘, když například komponenty mám v ‚Projekt\Controls‘.
V případě modulů by mi stávající chování vyhovovalo, jen by se modul přidal za defaultní NS – ‚Projekt\Application\Frontend‘.

Dá se toho nějak jednoduše docílit? Pokud ne, nemyslíte, že by to bylo dobré?

Díky.

David Matějka
Moderator | 6445
+
0
-

o formatovani tridy se stara trida implementujici rozhrani Nette\Application\IPresenterFactory s defaultni implementaci Nette\Application\PresenterFactory – tu si muzes zdedit a nejak to upravit

nebo pouzit sofistikovanejsi reseni z nelly od vrtaka

nezapomen to potom spravne registrovat jako sluzbu, viz https://github.com/…xtension.php#L46

Šaman
Člen | 2666
+
0
-

Díky. O PresenterFactory vím, že to má Nella vyřešené, to jsem nevěděl.
Ale nechci nějak výrazně upravovat chování Nette, protože až projekt odevzdám, může se v něm šťourat i někdo jiný. Snažím se to psát co nejméně WTF.
Takže to asi nechám bez NS, jen mě zajímal váš názor na beznamespacové presentery. IMHO se mi nelíbí.

Jan Tvrdík
Nette guru | 2595
+
0
-

Nechapu. Nelibi se ti presentery bez namespace, ale cisty zpusob, jak toho dosahnout, odmitas.

Šaman
Člen | 2666
+
0
-

Rozhodně neodmítám, jenom do projektu na kterém teď dělám nechci zavádět úpravy v chování samotného Nette, protože nevím, kdo ho převezme.
A proto tenhle dotaz píšu do diskuze o vývoji – zajímalo mě jestli je požadavek na NS presenterů blbost, nebo naopak jestli by nebylo dobré implementovat přímo do Nette.

Každopádně díky @matej21 za stručnou a zároveň vyčerpávající odpověď, bude se hodit v jiných projektech.

Vojtěch Dobeš
Gold Partner | 1316
+
0
-

Ještě doplním: jak poukazuje Honza, tak napsat si vlastní PresenterFactory není nic proti ničemu, rozhodně nejde o měnění fungování Nette. Je to asi taková změna jako jakýkoliv vlastní PHP kód.

V masteru je již i commit, který zavádí snadné nastavení vlastního formátu presenterových jmen v konfiguraci, takže v budoucnu nás čeká pro namespaceované presentery luxusní podpora.

Šaman
Člen | 2666
+
0
-
  1. Řeknu to jinak. Nechci měnit konvence, protože správa projektu asi nebude na mě. Navíc to má sloužit i jako ukázková aplikace. Takže by bylo ideální, aby bylo všechno Nette best practise, aby případný člověk po mě nemusel kontrolovat co všechno z Nette mám přetížené. Dál bych tuto debatu nerozvíjel, protože se netýká Nette, ale řízení tohoto jednoho projektu.
  2. Ad. nativní podpora v Nette: Kontroloval jsem repozitář, ale tuhle úpravu jsem v posledních commitech nenašel – nevíš jak má fungovat? Nebo který je to commit? Zatím vyvíjím na .dev verzi, tak bych to rovnou vyzkoušel. Díky.
Filip Procházka
Moderator | 4668
+
0
-

Ale vždyť Nette to už několik měsíců umí… v masteru, henhen

Vojtěch Dobeš
Gold Partner | 1316
+
0
-

Děkuji Hosiplanovi za pátrací akci, do které se mi opravdu, ale opravdu nechtělo :).

Šaman
Člen | 2666
+
0
-

HA! Já věděl, že jsem to už někde zahlédl, a ono to ve vývojovém sandboxu. Mockrát díky – přesně tohle jsem hledal.