verze 5.2 – config.neon – databáze – továrna na tabulku

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

musím překopat z funkční 5,3 na 5,2…

jak má bý v configu správně tohle nastavení:

	services:
		database: @Nette\Database\Connection
		obsah:
			create: @database::table(obsah)

jsem už dutej…

jiri.pudil
Nette Blogger | 1032
+
0
-

Určitě tam nebude Nette\Database\Connection, nýbrž jen Connection nebo NConnection, podle toho, jestli používáš neprefixovanou, nebo prefixovanou verzi Nette.

Jan Tvrdík
Nette guru | 2595
+
0
-

@knedle: Radši změň hosting. PHP 5.2 už víc než 2 roky nedostává ani bezpečnostní aktualizace.

enumag
Člen | 2118
+
0
-

V dnešní době bys z 5.3 měl překlápět spíše na 5.4. ;-) Aktualizace pro 5.3 pokud vím taky brzy přestanou vycházet.

thorewi
Člen | 84
+
0
-

rozhodne doporucuji 5.4… 5.3 byl progress predevsim v oblasti funkcionalit… 5.4 naopak predevsim v oblasti performance… a jako zastance performance nad cistotou kodu doporucuji 5.4 :)

knedle
Člen | 34
+
0
-

(přechod je pro mě složitější než se pokusit to přehodit na 5,2)

nicméně – funkční je tohle:

database: NConnection(@database)

edit: tím funkční si až tak nejsem najednou jist

ale u tohodle

obsah:
	create: @database::table(obsah)

nastaveni:
	create: @database::table(nastaveni)

mi to zahlasi

Circular reference detected for services: database.

zkusil jsem to obejít tím, že jsem to v config.neon zakomentoval a v prezenteru pak volal misto tovarnicky rovnou databazi:

$nastaveni = $this->context->database->table('nastaveni');

ovšem výsledek je stejný

nápad?

Editoval knedle (28. 1. 2013 9:02)

jiri.pudil
Nette Blogger | 1032
+
0
-

nicméně – funkční je tohle:

database: NConnection(@database)

Není. Předáváš instanci NConnection (tutéž) instanci NConnection.

knedle
Člen | 34
+
0
-

jezis ajo

jde tam prebrat ta cast z parametru, restpektive z common?

common:
	nette:
		database:
			dsn: 'mysql:host=localhost;dbname=db'
			user: user
			password: heslo

nebo to musim vypsat?

edit:
respektive prepsat do

common:
	parameters:
		dsn: 'mysql:host=localhost;dbname=db'
		user: user
		password: heslo

# a pak muzu uz konecne dat...

database: NConnection(%dsn%, %user%, %password%)

Editoval knedle (28. 1. 2013 9:23)