Autor Zpráva
ja.cz
Profil *
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
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
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
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
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
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 *
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
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

mi vrátí EXPLAIN stejné použití indexů jako pro
vnořený dotaz


Umíš to nějak vysvětlit nebo na to koukám nějak špatně? :)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: