Nahrazení konfiguračních sekcí soubory

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

Díky podpoře více konfiguračních souborů již konfigurační sekce postrádají smysl. Proto by bylo dobré je odstranit a nahradit více soubory.

Související https://forum.nette.org/…tani-konfigu#…

PULL https://github.com/…tte/pull/427

Stávající řešení

app/config/config.neon
common:
	parameters:
		zone: "Europe/Prague"
		foo: %bar% world
		foo3: overwritten
		bar: hello

	constants:
		BAR: %foo%

	php:
		date.timezone: %zone%


# Production site configuration data
production < common:
	parameters:
		database:
			dsn: "sqlite2::memory:"
			user: dbuser
			password: secret

# Staging site configuration data
development < common:
	parameters:
		database:
			user: dev_user
			password: dev_secret

Nové řešení

app/config/common.neon
parameters:
	zone: "Europe/Prague"
	foo: %bar% world
	foo3: overwritten
	bar: hello

constants:
	BAR: %foo%

php:
	date.timezone: %zone%
app/config/production.neon
includes:
	- common.neon

parameters:
	database:
		dsn: "sqlite2::memory:"
		user: dbuser
		password: secret
app/config/development.neon
includes:
	- common.neon

parameters:
	database:
		user: dev_user
		password: dev_secret
David Grudl
Nette Core | 8082
+
0
-

To, že sekce postrádají smysl pro tebe (a samozřejmě mnohé další), neznamená, že postrádají smysl pro všechny. Nehledě na to, že uvedené řešení je zcela použitelné už teď, tedy bez toho, že by musely být sekce zrušeny.

(Tím neříkám, že je nápad používat development.neon, common.neon apod. špatný, jen prostě krotím nadšené rušení všeho, co zrovna nepotřebuju).

Filip Procházka
Moderator | 4668
+
0
-

Jdu se zařadit do fronty nadšených rušičů :)

Kdyby to někoho zajímalo, tak takhle to mám teď já a jsem s tím velice spokojený ;)

A nejlepší na tom je, že takhle to můžete mít už teď a bez zásahu do Nette :)

baz
Člen | 42
+
0
-

Je to trošku mimo téma, ale z tohohle příspěvku jsem si vzal způsob definování konstant v configu a pár hodin mi zabralo, než jsem přišel na to, že správně není

constants:
	BAR: foo

ale

const:
	BAR: foo

tak kdyby to náhodou taky někdo řešil…

22
Člen | 1478
+
0
-

@baz: já bych řekl, že tu šíříš bludy!

  • Section 'const' in configuration file is deprecated; use 'constants' instead