Je dobré DAO nebo Repository z Doctrine 2 registrovat jako službu?

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

Ahoj,

je dobré registrovat DAO nebo Repository v Doctrine2 jako službu? Jde mě o to, že mě už nebaví v neonu neustále vstřikovat ručně do constructoru tyto objekty a chtěl bych:

<?php
services:
	- @doctrine.dao("Nejaka\\Entita")

	- Nejaka\Sluzba
	- Nejaka\Dalsi\Sluzba
?>

nabísto:

<?php
services:
	- Nejaka\Sluzba(@doctrine.dao("Nejaka\\Entita"))
	- Nejaka\Dalsi\Sluzba(@doctrine.dao("Nejaka\\Entita"))
?>

Editoval jablon (3. 6. 2014 14:11)

David Matějka
Moderator | 6445
+
+2
-

Ja injectuju rovnou EM. V doc kdyby/doctrine nedavno Filip pridal par informaci, tak koukni https://github.com/…ster/docs/en

Tomáš Jablonický
Člen | 115
+
-2
-

No právě, že injectovat EM do třídy mě příjde jako ten vtim: „Jan, podjte mě klavír, mám na něm doutník.“.

EM jsem již odstranil i z Presenteru, kde to podle mě nemá také co dělat a k datům přistupuji přes injectnutou třídu.

Jinak díky za dokumentaci. Asi bych si nevšiml, že je doplněná :-)

Jiří Nápravník
Člen | 710
+
0
-

Proto, že se mi to takhle nechtělo taky vpisovat postupně, a hlavně proto, že jak jsem musel soupnout dve a vice dao, tak to bylo hyperneprehledny v neonu, tak jsem taky presel na inejtovani EntityManageru, ano je tu ten problem s klavirem (je to spise takovy maly klavirecek, neni to cely DIC:-), ale tady od toho upustim, kdyz neni nic lepsiho.

Filip Procházka
Moderator | 4668
+
+3
-

To je právě bullshit, EntityManager není service locator, bez něj si v Doctrine ani neuprdneš. Nemá smysl se mu bránit.