NeonAdapter::load parametr pro zachování struktury

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

V současnosti, když načtu následující config.neon

common:
	variables:
		aaa: ccc
		bbb: ddd


production < common:
# tady v teto sekci nejsou zadna data

tak dostanu následující pole

array(2) {
   common => array(1) {
      variables => array(2) {
         aaa => "ccc" (3)
         bbb => "ddd" (3)
      }
   }
   production => array(1) {
      variables => array(2) {
         aaa => "ccc" (3)
         bbb => "ddd" (3)
      }
   }
}

nicméně by se dost hodilo, volitelným parametrem určit, že nechci expandovat sekce a chci zachovat původní strukturu, abych mohl do stávající struktury něco přidat a uložit

Patrik Votoček
Člen | 2221
+
0
-

nicméně by se dost hodilo, volitelným parametrem určit, že nechci expandovat sekce

co tím myslíš?

ty přece u production nemusíš common dědit… :-)

pepakriz
Člen | 246
+
0
-

u NeonAdapteru lze nastavit $sectionSeparator, takže když ho nastavíš na jinou hodnotu než <, při načtení nebudou sekce dědit.

Nebo je tu druhá možnost udělat si něco takového: https://gist.github.com/1330939

2bfree
Člen | 248
+
0
-

@Patrik Votoček: Myslel jsem tím to, že by se následujícím způsobem měla dát uložit „přesná kopie“ neon configu a ne interpretovaná (expandovaná podoba)

<?php
$config = \Nette\Config\NeonAdapter::load('config.neon');
\Nette\Config\NeonAdapter::save($config,'config-new.neon');
?>

Lépe řečeno bych byl rád přidal novou proměnnou do stávajícího configu a mrzí mě, že se tím změní původní obsah.

@pepakriz: To co odkazuješ jsem potkal a přinejhorším se k tomu asi uchýlím, ale preferoval bych variantu viz výše.