ugrás a tartalomhoz

AMysql mysql wrapper

amcsi · 2013. Szep. 16. (H), 19.18
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
 
1

Az látszik, hogy sok munka

Hidvégi Gábor · 2013. Szep. 16. (H), 20.05
Az látszik, hogy sok munka van benne, s bár én nem használnám, mert számomra túl absztrakt, de biztos vagyok benne, hogy sokaknak nagy terhet vehetsz le a válláról a programod segítségével.

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
2

Köszönöm a

amcsi · 2013. Szep. 16. (H), 23.08
Köszönöm a visszajelzésed!

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!
3

Menekülés

Hidvégi Gábor · 2013. Szep. 17. (K), 07.07
Akkor lehet, hogy nem releváns függvényt néztem, egy helyen 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ő.
4

A jelenlegit

Pepita · 2013. Szep. 17. (K), 09.45
letöltöttem, de csak később fogom átnézni, viszont a próbálkozás szerintem helyes ötlet.
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.