Autor | Zpráva | ||
---|---|---|---|
ja.cz Profil * |
#1 · Zasláno: 19. 1. 2011, 12:32:27
Ahoj všem,
sice jsou zde v diskuzi víceméně dotazy na praktické příklady, ale já bych potřeboval znát jen Váš názor. Kamarád mi doporučil pro komunikaci mezi MySQL a PHP knihovnu Dibi. Chtěl bych se vás zeptat, jestli máte s touto knihovnou nějaké zkušenosti (pro a proti), případně jakou jinou knihovnu byste mi doporučili. Děkuji moc. |
||
AM_ Profil |
#2 · Zasláno: 19. 1. 2011, 15:48:24
Přednosti:
- pěkná univerzální syntaxe nad mnoha používanými SQL databázemi - pěkně řešený singleton - pohodlné fluent rozhraní pro zápis dotazu - třída DibiSource usnadňuje oddělení aplikační a zobrazovací logiky Zápory: - neumí ORM (ok, je spekulativní, jestli je tohle zápor, spíš nedostatek) - DibiSource je s MySQL téměř nepoužitelná, protože staví na poddotazech, které jsou prý MySQL dost nešťastně implementované (pomalé) Celkově: jako jednoduchý pomocník pro elegantní zápis příkazů pracujících s databázích je DiBi dobrá, ale neřeší všechny obvyklé problémy; na větší projekty se hodí nějaká rozsáhlejší knihovna (nemám zkušenosti, zatím jsem žádnou nepoužíval) |
||
Alphard Profil |
#3 · Zasláno: 19. 1. 2011, 15:59:51 · Upravil/a: Alphard
K těm přednostem bych dodal bohaté formátování parametrů, tj. čísla, řetězce, data, pole, … Tohle bohužel neumí PDO. Prakticky je to konečné řešení bezpečnosti.
Pro člověka, který nemá v lásce ORM, ideální. Funkce jako insert(), kam se dodá jen jméno tabulky a pole hodnot samozřejmě dibi obsahuje. |
||
NejakyTom Profil |
#4 · Zasláno: 19. 1. 2011, 16:40:39
Dobra knihovna, pouzitim rozhdone clovek neudela chybu + porad se vyviji. Jinou free knihovno bych nepouzil.
Ale sam osobne pouzivam vlastni knihovnu pro komunikaci s db, je pravda ze nikdo nevyuzije vsechny funkce co v dibi jsou (tim padem zbytecna velikost) a navic kdyz si clovek napise vlastni tridu muze pouzit vlastni syntaxi, zpusob zapisu tak jak to bude pro nej nejlepsi - nemusi se podle niceho ridit a omezovat se. |
||
AM_ Profil |
#5 · Zasláno: 19. 1. 2011, 16:47:04
NejakyTom:
„kdyz si clovek napise vlastni tridu muze pouzit vlastni syntaxi, zpusob zapisu tak jak to bude pro nej nejlepsi - nemusi se podle niceho ridit a omezovat se“ má to ale i nevýhody - strávíš spoustu času vyvíjením něčeho, co už někdo vymyslel, a často někdo zkušenější, kdo to vymyslel lépe - samozřejmě, vše má své nedostatky, ale právě věci vyvinuté zkušenými programátory jich nemají tolik. Proto pokud není zvláštní důvod vymýšlet vlastní řešení, zásadně bych se přikláněl z použití hotového, a případně se nechal inspirovat jeho přednostmi a nedostatky a své vyvinul až v případě potřeby časem. Co se týče velikosti, DiBi určitě není tak velká, aby to byl problém. |
||
NejakyTom Profil |
#6 · Zasláno: 19. 1. 2011, 18:10:33
Velikost problem samozrejme neni a dibi je profesionalni nastroj ale vlastni kod lze dovest k dokonalosti (dokonalost z oci programatora onoho kodu) a presne vim kde co je a jak to funguje - usetreni studovani kodu dibi popripade prepisovanim dibi.
|
||
ja.cz Profil * |
#7 · Zasláno: 20. 1. 2011, 11:32:17
Tak vám děkuji za názory.
[#2] AM: Prosím tě, asi jsem malinko natvrdlý, nepochopil jsem druhý záporný bod. Můžeš mi ho trochu více vysvětlit. Děkuji. DibiSource je s MySQL téměř nepoužitelná, protože staví na poddotazech, které jsou prý MySQL dost nešťastně implementované (pomalé) |
||
joe Profil |
#8 · Zasláno: 20. 1. 2011, 15:57:32
AM:
„DibiSource je s MySQL téměř nepoužitelná, protože staví na poddotazech, které jsou prý MySQL dost nešťastně implementované (pomalé)“ Už jsem několikrát četl na fórech, že je problém s DibiDataSource a Mysql. Ale ať to zkouším jak to zkouším, vychází mi, že indexy se na poddotazy použijí stejně, jako kdyby to v poddotazu nebylo. Vypsáním EXPLAIN dvou dotazů: SELECT * FROM (vnořený dotaz) AS t SELECT * FROM (vnořený dotaz) AS t mi vrátí EXPLAIN stejné použití indexů jako pro vnořený dotaz vnořený dotaz Umíš to nějak vysvětlit nebo na to koukám nějak špatně? :) |
||
Časová prodleva: 14 let
|
Toto vlákno je staré, již dlouho do něj nikdo nepřispíval.
Informace a odkazy zde uváděné už nemusejí být aktuální. Nechcete-li řešit zde uvedenou konkrétní otázku, založte si vlastní vlákno, nepište do tohoto. Vložíte-li sem nyní příspěvek, upoutáte pozornost mnoha lidí a někteří z nich si jen kvůli vám přečtou i všechny předcházející příspěvky. Předpokládáte-li, že váš text skutečně bude hodnotný, stiskněte následující tlačítko:
Běda vám, jestli to bude blábol.
0