Kucharka „Jednoduchy Model s NotORM“ – update

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

Updatoval som svoj clanok v kucharke tak aby bezal s Nette 2.0 beta. Vyuziva DI, je tam o tom trochu pokec, takze ak v tom tapate, kuknite ako to vyuzit v real-world aplikacii :D

Cely projekt je teraz na githube a aj debugbar panel je jeho sucastou.

Enjoy :)

22
Člen | 1478
+
0
-

Prečo nepredať parametre databázového pripojenia priamo do konštruktora ModelLoader? Toto bohužiaľ nejde – v konfiguračnom súbore nie je možné toto zapísať. Pole arguments akceptuje iba:

  • skalárne typy: „string“, int
  • placeholdery: %database.host% (bodková syntax zatiaľ nebola backportovaná do bety!)
  • odkazy na iné služby: @dbConnection
modelLoader:
	class: Diggriola\ModelLoader
	arguments:
		-
		    driver:   mysql
		    host:     localhost
		    database: notorm_demo
		    username: php
		    password: php
		    profiler: true

takhle tam ty parametry dostanu, ne? viz. diskuse: https://forum.nette.org/…tor-v-nette2#…

Editoval 22 (1. 6. 2011 12:57)

srigi
Nette Blogger | 558
+
0
-

22 napsal(a):

takhle tam ty parametry dostanu, ne? viz. diskuse: https://forum.nette.org/…tor-v-nette2#…

Ano toto je pravda (presne ten prispevok si pamatam). Na tom postupe sa mi nepaci, ze udaje su natvrdo zapisane do pola arguments. Co ak by som potreboval dve sluzby s udajmi na DB… ?
:)

Ale budem musiet tu vetu preformulovat, zjavne pole predat ide.

Editoval srigi (1. 6. 2011 13:29)

22
Člen | 1478
+
0
-

mám za to, že pokud se budeš připojovat k DB, tak budeš vždycky volat stejně model, ale pak bych teda asi udělal sekci dboption a volal bych si jen ['@dboption'], abych to nemusel psát 2× nebo mi něco nedocvaklo?

Editoval 22 (1. 6. 2011 13:32)

srigi
Nette Blogger | 558
+
0
-

22 napsal(a):

@dboption nie je oznacenie pre sekciu, ale odkaz na inu sluzbu. Takto sekciu teda nepredas.

Aha priklad:

common:
  services:
    nejakyModelLoader:
      class: BlaBlaBla
      arguments: # tu by som kcel predat %database%

development:
  database:
    host: localhost
    user: php
    passwd: php

console < common
  services:
    nejakyConsoleCron:
      class: ConsoleCronNieco
      arguments: # tu by som kcel predat %database%

Dnes nie je moznost ako obom sluzbam predat cele to pole database. Mozem to tam explicitne zapisat (vid. tvoj priklad), ale budem pisat tu istu konfiguraciu na dve miesta. Ano priznavam, taky priklad nemusi nastat, ale moje riesenie mi pride cistejsie. Okrem toho mat sluzbu @dbConnect (vid. tutorial) mi pride uzitocne.

Ale samozrejme mas pravdu – pole predat ide – len sa mi nepaci zapisovat DB konfiguraciu do arguments :)

Editoval srigi (1. 6. 2011 14:52)

22
Člen | 1478
+
0
-

roger