![]() |
#1 |
profesionalac
Qualified
|
![]() Cao svima,
ukoliko imate vremena pogledajte ovaj mali projekat PDO Database Wrapper. Zanima me misljenje ostalih PHP programera da li jedna ovakva biblioteka moze da vam koristi, da li bi ste nesto izmenili, dodali, itd. Hvala unapred ![]()
__________________
www.salebab.net |
![]() |
![]() |
![]() |
#2 |
mV
Certified
Datum učlanjenja: 22.08.2009
Lokacija: Novi Sad
Poruke: 67
Hvala: 0
16 "Hvala" u 13 poruka
![]() |
![]() Nisam detaljno gledao, samo ukratko:
Mogao bi u konfiguraciji da ubaciš prefix za nazive tabela koji će posle metod from() sam da dodaje, a u običnom queriju bi nazive tabela mogao da okružiš vitičastim zagradama ({}) pa bi pri regex-om prepoznao da je to naziv tabele i ubacio mu prefix. Drupal radi upravo sa {}. Uglavnom deluje solidno. Kasnije možeš dodati podršku za transakcije, keširanje, Postgree.
__________________
Quis custodiet ipsos custodies ? |
![]() |
![]() |
"Hvala" Miroslav Ćurčić za poruku: |
![]() |
#3 |
profesionalac
Qualified
|
![]() S obzirom da se samo extenduje PDO klasa, kao i PDOStatement klasa, transakcije rade bez problema, isto vazi i za Postgree, nisam proveravao ali trebalo bi.
Hmm, nikada nisam do sada imao potrebe za table prefixima, pa nisam ni razmisljao o tome, ali thx imacu to u vidu.
__________________
www.salebab.net |
![]() |
![]() |
![]() |
#4 |
expert
Grand Master
Datum učlanjenja: 11.04.2010
Poruke: 998
Hvala: 141
959 "Hvala" u 153 poruka
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Zašto query builder ako ćeš kucati kompletan plain query svejedno? Po meni taj fluent interface nema smisla.
getInstance() je Singleton, pogledaj malo Dependency Injection. Koristiš include/require, ne valja... dodaj autoloader, ili ako neko hoće da koristi u svojoj nekoj aplikaciji koja već koristi autoloader, napravi namespace i drži se neke nomenklature, tipa new DB\Query a ne include DBQuery.php itd. Stavio si SET NAMES UTF8, možda neko ne koristi UTF8. Postavi PDO::ATTR_EMULATE_PREPARES na FALSE. |
![]() |
![]() |
![]() |
#5 |
profesionalac
Qualified
|
![]() Pre svega hvala za review, pokusacu da opravdam neke odluke:
Query builder nije ovde da bi se ubrzalo pisanje koda tako sto npr necu morati da kucam join("INNER JOIN table ON table.user_id = users.user_id") vec samo join("table", "table.user_id = users.user_id"), kao sto je kod CI ActiveRecord klase. Ideja je da query string prebacim u objekat, tako da taj jedan query mogu graditi iz vise metoda, evo ukratko primera nekog modela: PHP kôd:
Da, DB je samo implementacija singleton paterna kako ne bi uvek prosledjivao db objekat. Singleton u ovakvim slucajevima i ima najvise smisla i tu ga je najpozeljnije i koristiti. Sto se include/require, nisam hteo da koristim autoloadere da ne bih bezveze komplikovao kod, zelim da bude sto jednostavnije a i kompatibilno sa 5.2 verzijom. UTF8 je default vrednost, ali se moze prepisati tako se DBWrapperu prosledi u poslednjem $options parametru druga vrednost za PDO::MYSQL_ATTR_INIT_COMMAND. Ali da, probacu da nadjem elegantnije resenje za ovo.
__________________
www.salebab.net |
![]() |
![]() |
![]() |
Alati teme | |
Način prikaza | |
|
|