AMysql mysql wrapper
Hali,
Minekután használtam mind a Mysqli-t, PDO-t és Zend_Db-t, amelyeknek mind vannak jó és rossz tulajdonságai (bár inkább jó mindegyik), akartam azért egyet megírni, amely mindegyiknek a jó tulajdonságait tartalmazza egyszerre. Ezek:
- lightweight
- mysql_* támogatás (egyedi ehhez a libhez, és lehetőségként, hogy akár olyan szerveren is, amelyen nincs Mysqli, működjön). De elsősorban Mysqli-t használ.
- Neves és Névtelen placeholderek (PDO és Zend)
- Select class (Zend, de ez lightweightebb)
- Insert, Update, Delete metódusok (mysqli, Zend)
- Csomó különböző módú adat fetchelés (Zend)
- Multi INSERT és UPDATE (utóbbi valami UNIQUE alapján és nyílván több query-t küld)
- Lazy connect
- Stimmelő, konzisztens paraméterek
- composer-el installálható
Igazán nem tudom, hogy valami rosszat csináltam-e. Talán bővíteni mindig lehet valamerre.
De mindenesetre kérnék szépen kritikát, ha lennétek kedvesek!
Link: https://github.com/amcsi/amysql
■ Minekután használtam mind a Mysqli-t, PDO-t és Zend_Db-t, amelyeknek mind vannak jó és rossz tulajdonságai (bár inkább jó mindegyik), akartam azért egyet megírni, amely mindegyiknek a jó tulajdonságait tartalmazza egyszerre. Ezek:
- lightweight
- mysql_* támogatás (egyedi ehhez a libhez, és lehetőségként, hogy akár olyan szerveren is, amelyen nincs Mysqli, működjön). De elsősorban Mysqli-t használ.
- Neves és Névtelen placeholderek (PDO és Zend)
- Select class (Zend, de ez lightweightebb)
- Insert, Update, Delete metódusok (mysqli, Zend)
- Csomó különböző módú adat fetchelés (Zend)
- Multi INSERT és UPDATE (utóbbi valami UNIQUE alapján és nyílván több query-t küld)
- Lazy connect
- Stimmelő, konzisztens paraméterek
- composer-el installálható
Igazán nem tudom, hogy valami rosszat csináltam-e. Talán bővíteni mindig lehet valamerre.
De mindenesetre kérnék szépen kritikát, ha lennétek kedvesek!
Link: https://github.com/amcsi/amysql
Az látszik, hogy sok munka
Amit javasolnék, ha már nagyon unatkoznál:
- a hibaüzenetek lehetnének esetleg többnyelvűek
- escape-elésre használd inkább a mysql saját függvényét
- nem lenne nehéz úgy kiegészíteni, hogy akár PostgreSQL-lel is kompatibilis legyen
Köszönöm a
Oké, ha már a többnyelvűsítésre van, akkor implementálok egy olyat is.
Az escape-elést a beépített függvényekkel csinálom ( https://github.com/amcsi/amysql/blob/master/AMysql/Abstract.php#L796 ). Ha a tábla/oszlop escape-elésre gondolsz (escapeIdentifier()), arra nem találtam még beépített metódust. Van?
PostgreSQL... oké, legyen!
Menekülés
addcslashes()
-t láttam.A PostgreSQL kompatibilitás nem annyira vészes egyébként, MySQL-ben van egy úgynevezett strict mód, amit bekapcsolva a mezőneveket macskakörmök közé kell tenni ("), a karakterláncokat pedig szimpla idézőjelek közé ('). Strict mód nélkül pedig elég, ha a mező escape-elése jel (`) paraméterezhető.
A jelenlegit
Ha lesz időm rá egyszer (és tényleg jobb a tiéd), lehet "megtanítom rá" a CodeIgniter-t. Azzal nem vagyok maradék nélkül elégedett, de műxik.