Nette\Config a úprava config.ini

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

Umíte někdo pracovat s Nette\Config? Chtěl bych vyrobit něco jako instalační skript, který by zapsal do config.ini přístupy k databázi. Ale nepovedlo se mi to udělat tak, aby zůstaly zachované sekce, jejich dědění a podobně. Z api jsem nepochopil, jestli to vůbec jde.

kravčo
Člen | 721
+
0
-

Honza M. napsal(a):

Umíte někdo pracovat s Nette\Config? Chtěl bych vyrobit něco jako instalační skript, který by zapsal do config.ini přístupy k databázi. Ale nepovedlo se mi to udělat tak, aby zůstaly zachované sekce, jejich dědění a podobně. Z api jsem nepochopil, jestli to vůbec jde.

Ak to chápem správne – chceš len upraviť existujúci config.ini a pridať doň údaje o databáze. To zrejme nepôjde, keďže Config nie je na manipuláciu s konfiguračnými súbormi – načítaním sa všetky premenné a dedičnosti expandujú… Riešením by mohol byť samostatný súbor pre údaje k databáze – ten môžeš celý vygenerovať. Jeho načítanie bude isté spomalenie, ale nemalo by byť kritické (neviem, načítanie konfigurácie som nemeral).

Jod
Člen | 701
+
0
-

Honzo, si písal, že sa ti pri ukladaní premaže, takže len poriešiť ako ho tam celý uložiť nie? Načítať celý konfig by nemal byť problém, kedže ho nebudeš meniť každých 5minút predpokladám, ale len niekde v nastaveniach. Metóda save v konfigu vyzerá, že vie ukladať aj expandované dáta, keďže tam vidím rekurzívne volanie metódy build. Konfig vyzerá tiež že pri volaní load sa načíta celý. Takže by to malo fungovať nie? XmlAdapter zatiaľ dáta ukladať nevie.

Honza Marek
Člen | 1664
+
0
-

Uložit se dá, ale jak psal kravco, tak ta data jsou expandovaná.

kravčo
Člen | 721
+
0
-

Chcelo by to zdediť ConfigAdapterIni a implementovať „raw“ načítanie – no ConfigAdapterIni je final…

David Grudl
Nette Core | 8218
+
0
-

co ho načíst pomocí parse_ini_file(), upravit a uložit pomocí ConfigAdapterIni::save() ?