Autor Zpráva
blizzboz
Profil
viete o nejakom dobrom ORM db frameworku pre PHP? niečo ako LINQ To SQL aj s vizuálnym návrhárom, kde myšou dragnem tabuľku dropnem ju do návrhára a ORM mi automaticky vygeneruje triedu. Je niečo také aj pre PHP?
Majkl578
Profil
Dovolím si tvrdit, že taková volba je dosti individuální. Osobně bych doporučil Doctrine 2 (ne 1) se kterým momentálně pracuji a jsem naprosto spokojen. Jde o ORM s vlastním SQL dialektem (DQL - Doctrine Query Language) pro který má vlastní parser. Podporuje širokou škálu RDBMS, je poměrně flexibilní (vlastní DQL funkce, vlastní Repository, entity nevyžadují předka) a nabízí elegantní nakládání s daty (výsledek buď jako entity nebo skalární data), cache ve třech vrstvách (metadata, query a result cache) a je psáno pro 5.3+. Další silnou stránkou je Doctrine CLI, které např. jedním příkazem vytvoří z entit schéma databáze, případně naopak. Aktuální verze je 2.0.0BETA2.

myšou dragnem tabuľku dropnem ju do návrhára a ORM mi automaticky vygeneruje triedu
To se mi nelíbí, raději si to prvně v PHP napíšu tak, aby mi použití vyhovovalo a podle toho nechám vygenerovat databázi, jejíž struktura se vygeneruje z mnou nadefinovaných pravidel (typy, asociace atd).
Mastodont
Profil
blizzboz:
myšou dragnem tabuľku dropnem ju do návrhára a ORM mi automaticky vygeneruje triedu
1 tabulka = 1 třída, to není moc pružné, nemyslíš?

Jinak +1 Doctrine
Nox
Profil
Co si myslíte o NotORM (přepokládám že to ORM je i přes název)? I když je asi ještě brzy se ptát

Asi ale bude výhodnější se naučit Doctrine...?
Mastodont
Profil
Nox:
Článek s diskusí na rootu jsi četl?
Nox
Profil
Vlastně před časem, nějak jsem na něj zapomněl, díky
joe
Profil
Nejlepší ORM framework pro PHP je žádný :)
Majkl578
Profil
joe:
To je dosti nepodložené tvrzení…
Mastodont
Profil
No, ono by se to podložit dalo ....
http://blogs.tedneward.com/2006/06/26/The+Vietnam+Of+Computer+Science.aspx
http://database-programmer.blogspot.com/2008/06/why-i-do-not-use-orm.html

A pár zajímavých poznámek na http://www.doctrine-project.org/blog/orm-is-not-a-choice
joe
Profil
Majkl578:
Je to můj názor, nikomu ho nechci vnucovat, ale když se vám ostatním chce nějaké to ORM používat, tak si používejte.

V PHP jsem se s tím párkrát setkal a výsledek?

- není kontrola nad dotazy do databáze
- kolikrát se vykonávaly zbytečné dotazy, které nebyly potřeba

Setkal jsem se s ORM v Javě, tam je to to samé, raději bych to psal vše ručně, protože se mi zdá až celkem vtipný, že na jedno načtení stránky se celkem vytvoří 150 dotazů :-)
blizzboz
Profil
joe:
tak v .NET veľké množstvo dotazov riešia takzvané odpojené aplikácie, to znamená že sa aplikácia pripojí k dátovému zdroju, načíta dátový obraz a odpojí sa. potom sa s nimi pracuje na strane aplikácie (čo je omnoho rýchlejšie ako zbytočné dátové prenosy medzi aplikáciou a databázou). na strane aplikácie sa dajú nad dátami volať aj linq dotazy. keď sa na dátach vykonajú všetky zmeny, môže sa aplikácia znovu pripojiť k dátovému zdroju a všetky zmeny sa naraz uložia do databázy (alebo iného dátového zdroja).

btw mňa skôr prekvapuje prečo sa vo večšej miere nepresadzujú ODBMS ale sa stále zotrváva pri klasických RDBMS, ktoré sa znásilňujú cez rôzne objektové nadstavby. pritom systémy ako napr. Caché alebo Versant sú mnohými vývojármi považované za najlepšie databázové systémy vôbec.
TomaPar
Profil *
Určitě bych doporučil Doctrine, případně téměř hotovou Doctrine2. K tomu ještě nástroj ORM Designer (www.orm-designer.com), který umožňuje celý model navrhovat visualně a pak exportovat definice do XML/YML (narozdíl od dbDesignera a dalších podobných má přímou podporu pro Doctrine/Doctrine2/Propel).

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

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

0