Zdravím, mám asi triviální dotaz,ale i přesto,že jsem si na toto téma
přečetl dost článku,tak je mi velmi nejasné.
V PHP si zkouším hrát nějaký rok a pro přístup k DB jsem používal
klasické mysqli funkce,pak jsem se dostal k PDO a ted momentálně se snažím
pochopit možnosti připojení přes různé "knihovny". Můj dotaz se tedy bude
skládat z různých situací,které mohou nastat.
V PHP (Bez frameworku) použiji strukturovaný kód s možnosti připojeni k
DB např (MySql). Co jsem se dočetl, tak pro komunikaci s DB můžu použit
uvedené PDO,NOTORM (pokud jsem to dobře pochopil,tak využívá
PDO),DIBI.
V PHP (Bez frameworku) použiju objektový přístup a chci komunikovat s DB
(MySql). Co použít ? DIBI,Doctrine,PDO ? Potřebuju tedy vrstvu,která mi
převede objekty na řádky.
V PHP (S frameworkem) objektově s DB (mysql). Můžu použít Doctrine,Dibi
atd.
Moc nechápu rozdíly mezi použitím DIBI,Doctrine,NotORM a PDO.
PDO je ovladač pro přístup k databázi, tak že pomocí něho píšeš
SQL - neboli dotazy přímo na databázi
DIBI je taky ovladač, ale je to psaný nad MySQLi, PDO,... a mnoho
dalšího. Jeho výhodou je že se snaží mít stejnou syntaxi objektů, tedy
ať se připojíš na MySQL nebo MSSQL server, tak vždy to bude fungovat. V
opačném případě v PDO bys musel upravovat SQL dotazy.
Doctrine a NotORM je vyšší dívčí - jedná se o mapování databáze,
tedy - ty si vytvoříš OOP databázi, objektovou databázi - a ORM ti na tyto
objekty mapuje data. Výhodou je třeba u Doctrine, že ty si pomocí objektů
vytvoříš databázi, a pomocí CLI si vygeneruješ celé schéma. Tedy odpadá
vymýšlení SQL dotazů a různých blbostí, a můžeš se plně věnovat
vývoji aplikaci. Stejně tak, potřebuješ změnit název pole, nebo přidat?
Není problém, v objektu dáš další properties a funguješ.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.