Doctrine I. - Bemutatás
Webmester - 2011. 05. 17. 08:37

A múltkori LINQ-s írásom utána, most kicsit PHP-s vizekre eveznék. Kilátásban van egy komolyabb PHP-s projekt, amihez a felhasználható technológiákat, keretrendszereket, eszközöket és tudást próbálom felhalmozni, hogy megfelelő felkészültséggel vághassak bele, és alkothassak valami újat, jót. A projektről egyelőre nem beszélnék, még semmi se biztos, de azt elárulom, hogy ki szeretnék próbálni pár új dolgot. Az egyik ilyen a Doctrine. Ebben a posztban nagyjából bemutatnám a Doctrine projektet, hogy miről is szól, majd a következőben pedig megosztanám az üzembe helyezéssel kapcsolatos tapasztalataimat. Vágjunk is bele.

Mi is a Doctrine projekt? Nem más mint PHP könyvtárak válogatott gyűjteménye, melyek elsődleges célja perzisztens szolgáltatások és kapcsolódó funkcionalitások nyújtása.

A projekt honlapja itt található: http://www.doctrine-project.org/

A nyitó oldalon rögtön a két legfontosabb projektről találunk rövid bemutatást. Ezek az Object Relational Mapper (ORM, Objektum-relációs leképezés) és a Database Abstraction Layer (DAL vagy DBAL, Adatbázis absztrakciós réteg). Utóbbi a PHP Data Objects-re (PDO) építve kínál hasznos funckiókat, mint például az adatbázis séma vizsgálata, módosítása egy objektum-orientált API-n keresztül. Előbbi pedig egy PHP-ra írt ORM rendszer, melyet részben a Hibernate inspirált, és a DBAL-ra épül.

A DAL réteg használatának előnye, hogy az alkalmazásban az adatbázis manipulálásért felelős részen nem kell változtatni akkor sem, ha például lecseréljük mögötte az adatbázist (mondjuk MySQL-ről MSSQL-re, vagy Oracle-re). Bővebb információ, dokumentáció a DBAL projektől itt található: http://www.doctrine-project.org/projects/dbal.

Az Object Relational Mapper elsődleges feladata a transzparens átalakítás a PHP objektumok és az adatbázis sorok között. Ebből egyértelműen következik, hogy főként olyan programokban alkalmazható, amelyek objektum-orientált paradigmát követik. Bővebb információ, dokumentáció a projekt oldalán található: http://www.doctrine-project.org/projects/orm.

Van azonban még egyéb finomság is a Doctrine oldalán. A három további projektből a 2 számomra fontosabbat, hasznosabbat emelném ki. (Az összes projekt megtekinthető a doctrine weboldalán: http://www.doctrine-project.org/projects.) Az egyik a Migrations, mely szintén a DBAL-ra épül, és az adatbázis verzionálásában segít, illetve a változások alkalmazásában az adatbázisainkon. Bővebb infó: http://www.doctrine-project.org/projects/migrations. A másik pedig egy könyvtár (library), mely a PHP alap funkcióihoz egy kiterjesztés. Jelenleg egy egyszerű Class Loader, és annotációt megvalósító osztályok vannak benne. De ugyan csak ebben a könyvtárban található jópár funkció amit például az ORM használ. További információk itt: http://www.doctrine-project.org/projects/common.

Az eddig linkelt oldalakon minden lényeges információ, dokumentáció megtalálható. Szerintem nagyon jól dokumentált az egész projekt, a dokumentáció remekül használható. Szóval ha valakinek felkeltettem az érdeklődését, nyugodtan vágjon bele, szerintem megéri.

A kiváló dokumentáltság ellenére, azért akadt pár apróbb probléma a beüzemelés alatt. A következő posztban ezekre térnék ki, hátha valakinek meg tudok spórolni némi időt. Lesz szó pár általános PHP-s dologról, illetve a Doctrine konzolos eszközének beüzemeléséről is. Addig is jó szórakozást a Doctrine-nal.

Címkék: PHP Doctrine