Hned první odkaz v článku není zrovna ideální: file:///C:/DOCUME%7E1/MARTIN%7E1.MAL/LOCALS%7E1/Temp/_tc/doctrine-01-uvod.html
Názory k článku
Doctrine 2: úvod do systému
Perfekt
celé vláknoČtivý a jednoduše pochopitelný článek, díky! Jen tak dál
ORM Designer
celé vláknoVsem kdo pracuji s Doctrine2 nebo Doctrine bych doporucil nastroj ORM Designer.
Namisto oddelenho vytvareni modelu a rucniho psani vsech definic umoznuje ORMD cely objektovy model navrhnout visualne a pote jednoduse vyexportovat. Narozdil od MySQL workbench nebo DBDesigneru ma ale podporu vsech vlastnosti (a v pripade Doctrine i vsech behaviours) pro dany ORM framework.
Re: ORM Designer
celé vláknoToto by malo vediet aj acceleo+emf, ale chcelo by to k tomu dobry tutorial. Nechce sa niekomu napisat?
Dalsia vec – ako zlozite je integrovat nette s doctrine2?
Re: ORM Designer
celé vláknoDalsia vec – ako zlozite je integrovat nette s doctrine2?
Je to velice jednoduché. Vzhledem k tomu, že Doctrine2 nevyžaduje žádné dědění nějaké základní třídy, tak můžeme vzít naše stávající entity z modelu (poděděné od Nette\Object), oanotovat je a máme hotovo. Od této chvíle s nimi můžeme pracovat přes EntityManager.
Re: ORM Designer
celé vláknoNette není potřeba s Doctrine nijak integrovat, protože Nette nepředpisuje žádnou podobu modelů.
Stačí si tedy dát do config.ini přihlašovací údaje k databázi, do bootstrapu nějaké to základní nastavení (předvedené v článku), založit si vlastní Entity (nejlépe asi poděděnou od Nette\Object) a zvesela začít psát entitní třídy a libovolně je v presenterech používat.
Re: ORM Designer
celé vláknoOK, pozrem to. Mam v plane prerobit nejake stare stranky a rozhodujem sa medzi yii a nette, pricom by som rad pouzil prave doctrine2.
Proxy a metadata
celé vláknoŠkoda, že v článku není víc popsaná část toho posledního výstřižku kódu, konkrétně netuším, co si představit pod tou proxy a metadata driverem. Určitě to půjde dohledat v dokumentaci, ale v článku by to mělo být více vysvětleno.
Re: Proxy a metadata
celé vláknoPočkej na další díly, jistě to vysvětlí.
Proxy se používají při práci s asociovanými entitami a naplno se využívají při jejich (lazy) načítání.
Metadata driver poskytuje entity manageru informace o entitách. Základní metadata drivery jsou tři: pro práci s Docblock anotacemi, pro práci s XML a pro práci s YAML.
Kešování metadat entit
celé vláknoJen doplním, že se zde nekonfiguruje EntityManager s aktivním kešováním metadat entit a DQL dotazů. V dokumentaci se silně doporučuje toto nějakým způsobem kešovat.
Do not use Doctrine without a metadata and query cache! Doctrine is highly optimized for working with caches. The main parts in Doctrine that are optimized for caching are the metadata mapping information with the metadata cache and the DQL to SQL conversions with the query cache. These 2 caches require only an absolute minimum of memory yet they heavily improve the runtime performance of Doctrine. The recommended cache driver to use with Doctrine is APC. APC provides you with an opcode-cache (which is highly recommended anyway) and a very fast in-memory cache storage that you can use for the metadata and query caches as seen in the previous code snippet.
Nejjednodušší na použití je \Doctrine\Common\Cache\ArrayCache, která se aktivuje takto:
$cache = new \Doctrine\Common\Cache\ArrayCache(); $config->setMetadataCacheImpl($cache); $config->setQueryCacheImpl($cache);