Nelze načíst config, který byl přeuložen přes Config\Loader
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- arron
- Člen | 464
Ahoj,
objevil jsem nejspíš chybu v Config\Loader
. Pokud provedu
následující kód:
$loader = new Nette\Config\Loader();
$config = $loader->load('config.neon', 'development');
$loader->save($config, 'configNew.neon');
tak se původní:
development:
services:
dbConnection:
class: \Cms\Base\Database\Db(%db%)
zapíše jako:
services:
dbConnection:
class:
value: \Cms\Base\Database\Db
attributes:
- %db%
která již nelze opětovně načíst. Jsou tam dva problémy:
Nejdříve „Missing section ‚development‘ in file
‚/config.neon‘.“
Následně po přidání sekce developent „Service ‚dbConnection‘:
The item ‚class‘ in array expects to be string or stdClass or null, array(2)
given.“.
Je to chyba nebo to blbě používám?
PHP 5.3, Nette Framework 2.1-dev (revision 4f397ea released on 2012–03–22)
Díky moc
Editoval arron (29. 3. 2012 23:31)
- arron
- Člen | 464
Trochu jsem se v tom prohrabal a problém je v NeonAdapter
u na
řádku 67:
if (is_array($val)) {
$val = $this->process($val);
} elseif ($val instanceof Nette\Utils\NeonEntity) {
//řádek 67, kde se ztráci NeonEntity a je to nevratná operace
$val = (object) array('value' => $val->value, 'attributes' => $this->process($val->attributes));
}