Globalizace objektu definovaného v bootstrap.php
- kastanekdavid
- Člen | 39
Zdravím,
V rámci doctrine (ale to je fuk v rámci čeho) inicializuju novou instanci entity manageru ($em) v souboru bootstrap.php. Následně bych tento objekt rád předal do globálního povědomí celé aplikace.
Toto bych následně využíval tak, že bych mohl v metodě libovolného presenteru zavolat např.:
$this->em->...;
Nevíte někdo, jakým způsobem je toto realizovatelné, pokud vůbec?
Díky!
- David Matějka
- Moderator | 6445
ne a ani se o to nepokousej. vsude, kde em potrebujes, si ho injectni
- kastanekdavid
- Člen | 39
Umm, dobrá, díky :)
A jak jej tedy z bootstrapu definuji jako službu, jestli se můžu ptát?
- David Matějka
- Moderator | 6445
v bootstrapu ne, vsechny sluzby si definuj v neonu (prip. v compiler extension, ale to uz je komplikovanejsi). pro integraci doctrine pouzij treba kdyby/doctrine
- kastanekdavid
- Člen | 39
Díky matej21 :) … kdyby/doctrine jsem zkoušel, ovšem přijde mi to dost overkill řešení, rád bych se obešel bez DAO a měl k dispozici klasickou variantu Doctrine s entitami a repositories.
greeny, to já samo
vím, akorát řeším, jak vůbec dostat objekt $em
do kontextu.
Taky bych nejraději neinicializoval $em
v bootstrapu, ale
konstruktor třídy objektu $em vyžaduje parametry, které jsou dostupné pouze
v bootstrapu. … Takže je to těžká vokurka :)
Editoval kastanekdavid (2. 4. 2014 20:06)
- David Matějka
- Moderator | 6445
nevymyslej znovu kolo, kdyby/doctrine ti vsechno nastavi tak, aby to bez problemu behalo pod nette, postara se o validni vytvareni proxy trid, spravne propoji doctrine cache s nette cache a v neposledni rade prida panel do debug baru.
query objecty pouzivat nemusis, entity dao jen extenduje entity repository z doctrine a pridava nejakou funkcnost
- kastanekdavid
- Člen | 39
Okok, dobře, tak znovu zinstaluju to kdyby/doctrine :) … Díky za názory, mistři!