[page doc:nette-environment] Nette\Environment

před 10 lety

PetrP
Člen | 587
+
0
-

Diskuse ke stránce Nette\Environment


Nette\Environment dokumentace říká:

...
// nebo ekvivalentně:
 Config::loadConfig($config);
...

V Config takováto metoda není (aktuální revize) byla tam dříve, nebo je tam v 0.8 (nemůžu nikde najít 0.8 api; myslel jsem že někde je)?

A vůbec k jaké verzi se má vztahovat dokumentace? k poslední stabilní nebo aktuální vývojové?
A jak se tohle bude řešit do budoucna, kdy bude x verzí nette, bude stejné množství dokumentací? A jak by se to udržovalo? Nebo se budou všechny změní zapisovat pořad do dokumentace (tedy že: pro 0.8 je to tak; pro 0.9 tak, a pro 1.0 to už např není nijak)

před 10 lety

PetrP
Člen | 587
+
0
-

A pak mám ještě druhou připomínku ke Configu. Nette nemá podporu pro více configů v Environment. Tedy něco jako:

; config.ini
[common]
neco.hodnota1 = 1
neco.hodnota2 = 1
neco.hodnota3 = 1

; config2.ini
[common]
neco.hodnota2 = 2
neco.hodnota3 = 2

; config3.ini
[common]
neco.hodnota3 = 3
Environment::loadConfig(); // defaultní umístění configu
Environment::loadConfig('%nekdeDir%/config2.ini');
Environment::loadConfig('%nekdeDir%/config3.ini');

Debug::dump(
    Environment::getConfig('neco')
);
/*
vypsalo by:
object(Config) (3) {
    "hodnota1" => string(1) "1"
    "hodnota2" => string(1) "2"
    "hodnota3" => string(1) "3"
}
*/

Tedy že by šlo ke konfigu nejen přidávat ale i rozšiřovat.
Momentálně nejde ani jedno, protože Environment::loadConfig() $config při každém zavolání přepíše: (tedy se dostanu jen k poslednímu configu)

return self::$config = self::getConfigurator()->loadConfig($file);

Samozřejmě to lze řešit přes $config = Config::fromFile() ale tím přijdu o možnost si kdekoli v aplikaci zavolat Environment::getConfig()

Proč tomu tak není? a nebylo by fajn aby tomu tak bylo? ;]

Editoval PetrP (18. 6. 2009 15:08)