Definovanie prametrov v neone a prístup k parametrom v aplikácii
- Čamo
- Člen | 798
Naydar,
môže mi prosím vás niekto vysvetliť nasledovné otázky?
V noene mám
common:
parameters:
absoluteUrl: http://xxx.xx
documentRoot:
development < common:
parameters:
absoluteUrl: http://localhost/NCMS
documentRoot: /NCMS
otázky:
- je to vôbec správne zapísané?
- môže byť paremeter documentRoot prázdny?(potrebujem prázdny reťazec do javascriptu)
- ako sa ku tým parametrom dostanem v presentery?
Zatiaľ mám cez
$this->parameters['absoluteUrl']
(objektový zápis ->absoluteUrl neprešiel) - ako sa ku parametrom dostanem v latte?(ešte som neskúšal)
Editoval Čamo (29. 1. 2015 13:11)
- Oli
- Člen | 1215
- Napsané to je dobře. Jen bych se asi držel sandboxu a měl config.neon, local.config.neon, production.config.neon. je to proto, že většinou nechceš ukazovat přístupový údaje v gitu
- Podle mě s tím není problém
- Pokud to potřebuješ do presenteru, tak buď si zaregistruj presenter jako službu nebo si vytvoř obalovou třídu a do ní ten parametr injectni a tu potom injectni do presenteru
- Když už to budeš mít v presenteru tak normálně
$this->template->absoluteURL = $this->absoluteURL;
- Čamo
- Člen | 798
1. snažím sa pochopiť ako funguje ten config.locol.neon ale neviem.
v bootstrap.php mám:
$configurator->addConfig(__DIR__ . '/config/config.neon', Nette\Configurator::AUTO);
$configurator->addConfig(__DIR__ . '/config/config.local.neon', Nette\Configurator::AUTO);
v config neon:
production < common:
development < common:
includes:
- config.local.neon
v config.local.neon:
development:
parameters:
database:
dsn: 'mysql:host=127.0.0.1;dbname=ncms'
user: root
password: toor
options:
lazy: yes
Vyhadzuje mi to error:
Found sections ‚development‘ in configuration, but corresponding extensions
are missing.
Keď sekciu zruším, tak zase vyhodí:
Missing section ‚development‘ in file …config.local.neon
Ako to má fungovať?
- David Matějka
- Moderator | 6445
neinkluduj ten config.local.neon z config.neon, kdyz uz to mas nacteny v bootstrapu…
- Čamo
- Člen | 798
Keď ho neincludujem, tak ho síce vidí, ale hodnoty sekcie
neprepíše(akurát, že nehádže errory)
config.neon:
...
production < common:
development < common:
config.local.neon:
development:
database:
dsn: 'mysql:host=127.0.0.1;dbname=ncms'
user: roo // tu by mal vyhodiť chybu
password: toor
options:
lazy: yes
- Čamo
- Člen | 798
V Sandboxe je to tak alibisticky urobené, že tam sa žiadne parametre neprepisujú.
Nefunguje mi vôbec nič, keď to nechám na ten bootstrap. Čakal by som, že posledný načítaný config, prepíše, resp. doplní ten predošlý. Ale nefunguje to nijako. Všetko prebíja ten prvý konfig.
Mohol by sa ku tomu vyjadriť niekto kto tomu rozumie, lebo v documentácii o tom neni ani f.
U toho includu som už pochopil, že includovaný súbor má nižšiu prioritu, ale rád by som chápal ako je to myslené v tom bootstrape.
- David Matějka
- Moderator | 6445
Nemas pravdu, pozdeji uvedene configy prepisuji ty predchozi. Takze hodnoty z config.local.neon maji vyssi prioritu. Co konkretne ti nefunguje? ukaz, jak to mas ted… (oba configy a bootstrap)
- Čamo
- Člen | 798
Aha som to skopíroval z toho gihubu a nevšimol som si, že tam nieje
database v sekcii nette.
Potom mi to fungovalo ako include. Čiže to bralo db z local.config.neon len
ak som to zmazal v
config.neon.
nette:
database:
dsn: 'mysql:host=127.0.0.1;dbname=ncms'
user: root
password: toor
options:
lazy: yes
services:
- App\Model\UserManager
router: App\RouterFactory::createRouter
authorizatorFactory: App\Model\AuthorizatorFactory
authorizator: @authorizatorFactory::create
- App\Model\Categories
- App\Model\BlogArticles
- App\Model\Users
config.local.neon
database:
dsn: 'mysql:host=127.0.0.1;dbname=ncms'
user: roo
password: toor
options:
lazy: yes
Editoval Čamo (29. 1. 2015 20:36)
- David Matějka
- Moderator | 6445
@Čamo jak mozna vis, v 2.2 doslo k rozdeleni nette na balicky. Pred tim konfiguraci resilo nette z jednoho mista (proto to bylo pod sekci nette), ale nyni si tu konfiguraci resi samo nette/database. Puvodni zapis funguje z duvodu zpetne kompatibility, ale je lepsi pouzit ten novy (tedy samostatne database)
- David Matějka
- Moderator | 6445
V 2.2 pouze database. V 2.3 bude osamostatneni dokonceno a vsechno bude mit sve extension (a tedy i sekci)