Pridanie služby – pripojenie ku databáze

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

Ako sa pripojiť ku databáze pomocou DI ? Mám niečo také:

$container->addService('database', function($container){ return new \Nette\Database\Connection(); });

Ale nejako neviem dostať dáta z neon-u … Ako na to? A je to správne, takto sa registruje DI?

22
Člen | 1478
+
0
-

není na to tady speciální sekce náhodou??? Hned 4té vlákno btw

Peppy
Člen | 137
+
0
-

Tak ku čomu slúži DI? Veď som čítal, že sa majú minimalizovať statické triedy…som veľmi zmätený…

22
Člen | 1478
+
0
-

nechápu otázku, DI je tam taky vysvětlené, hned první vlákno, když tak presuň diskuzi tam a otevři si nové vlákno..ta factory byla kvuli tomu, ze se v configu nedalo poslat pole do konstruktoru tridy, co uz ted lze.
Teď už jde udělat:

service:
	database:
		class: DibiConnection
		arguments: ['%db%']

	modelLoader:
		class: modelLoader
		arguments: ['@database']

db:
	driver: sqlite3
	database: path_to_your_database

a modelLoader už ti vrací model i s připojením třeba..

Editoval 22 (1. 7. 2011 21:30)

Peppy
Člen | 137
+
0
-

No, dal si mi nápovedu 4-tému topic-u…tam je použité Dibi…ja som myslel použiť \Nette\Database …

22
Člen | 1478
+
0
-

pak si projdi třeba sirgiho tutorial…
všechno už tady na foru je, stačí hledat a pak dlouho číst :-)

Peppy
Člen | 137
+
0
-

Tak som z toho ešte viacej na vetvy…Dibi, \Nette\Database, a ešte NotORM možnosť…už fakt…memory leak…buffer overflow…

22
Člen | 1478
+
0
-

pak ti doporučuji projít si příklady z distribuce [examples], tam máš jednoduché příklady na pochopení základů…

Peppy
Člen | 137
+
0
-

Ja potrebujem iba jak sa napojiť na DB a pracovať s ňou, pomocou DI :) …just hints…

22
Člen | 1478
+
0
-

ty si ze mě děláš srandu, že? :-) Viděl jsi někdy sandbox? Tak tam máš vzor připojení k DB třeba.

Peppy
Člen | 137
+
0
-

Videl a použil…kde je tam pripojenie k db? A srandu si nerobím, ibaže som z prechodu na Nette 2.0 paf…

22
Člen | 1478
+
0
-
common:
	php: # PHP configuration
		date.timezone: Europe/Prague
		session.save_path: "%tempDir%/sessions"
		# zlib.output_compression: yes

	services:
		robotLoader:
			run: true

		######### tady je projeni k DB ############
		database:
			class: Nette\Database\Connection
			arguments: ['mysql:host=localhost;dbname=test', 'user', 'password']
		######### tady je projeni k DB ############

		model:
			class: Model
			arguments: [@database]

		authenticator:
			factory: [@model, createAuthenticatorService]

jak jsou ty křížky :-)

Editoval 22 (1. 7. 2011 22:24)

voda
Člen | 561
+
0
-

Že by třeba v config.neon?

Peppy
Člen | 137
+
0
-

a použitie v phpčku?