Konfigurační soubor k extension a prefixování v něm

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

Ahoj,

už nějakou dobu ve svých aplikacích používám extension, které si své závislosti definujou v kódu té extension, teď jsem si ale řekl, že .neon soubor je na to lepší a chtěl jsem to změnit. Koukl jsem do dokumentace (https://doc.nette.org/…n/extensions#…) a tam to v souboru prefixujou názvem extension. Což mi IMHO přijde divné, protože když pak budu mít jinou extenzi s názvem „blog“, tak nemůžu, protože tahle to má staticky v tom .neon souboru.

Moje otázka teda zní:

  • existuje i možnost, jak to v souborech neprefixovat a nechat to prefixnout automaticky (nějak pomocí $this->prefix())?
  • nebo existuje jiná možnost jak načíst služby z daného souboru tak, aby „patřily“ k dané extenzi?
  • nebo jsem něco jen přehlídl a špatně pochopil?
David Matějka
Moderator | 6445
+
0
-

$this->loadFromFile + Compiler::parseServices (pripadne parseService) by melo stacit

greeny
Člen | 405
+
0
-

@DavidMatějka jenže tak je to i v tom příkladu a přitom to mají v .neon prefixovaný tím „blog“ :( napadá mě leda, že tam je třetí argument $namespace u toho parseServices a že bych do toho předal $this->name.

David Matějka
Moderator | 6445
+
0
-

Ha, ja si ani necet tu dokumentaci, ze to tam presne takhle je :) jj pouzij ten treti argument

greeny
Člen | 405
+
0
-

@DavidMatějka díky :) IMHO v dokumentaci by taky měli radši použít ten třetí argument, než to staticky prefixovat, zvlášť když tam o pár řádků nahoře mluví o výhodě metody prefix :D

greeny
Člen | 405
+
0
-

Heh zrovna jsem chtěl otevřít issue, ale byl jsi rychlejší :D

David Matějka
Moderator | 6445
+
0
-

Je to opraveny ;)

greeny
Člen | 405
+
0
-

@DavidMatějka ale pořád se tam odkazuje na services pomocí @ (např @blog.articles)

David Matějka
Moderator | 6445
+
0
-

a sakra. a nenapada me, jak to opravit