![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 362 Pomógł: 0 Dołączył: 18.02.2004 Skąd: Knurów Ostrzeżenie: (0%) ![]() ![]() |
Ze względu na mało kreatywnych tematów na forum php Pro proponuję taką dyskusję.
Które z rozwiązań wydaje wam się korzystniejsze: ORM Stricte mapowanie bazy danych do obiektów, które następnie można łatwo wykorzystać w php. Bardzo intuicyjne i wygodne, szczególnie jeśli zaimplementujemy rozwiązanie, które jest w stanie na bieżąco odwzorowywać zmiany w bazie danych (dodatkowe tabele, itd.). Dodawanie nowej klasy to po prostu stworzenie dodatkowej tabeli, nowy obiekt to rekord. Wadą jest brak pewnej unifikacji i kłopot z utworzeniem drzewa obiektów, ale myślę, że jest to do obejścia. Przykład takiego rozwiązania możemy znaleźć w Ruby on Rails. VFS Wirtualny system plików też jest ciekawym rozwiązaniem, wprowadzającym jakby dodatkową strukturę w bazie danych, która następnie jest odwzorowywana w postaci obiektów php. Rozwiązanie o tyle dobre, że automatycznie wprowadza nam pewną strukturę drzewiastą, w której mamy nasze obiekty i w jednej gałęzi mogą znajdować się różne obiekty, np. artykuły, komentarze, pliki, itd. Największą wadą jest to, że wprowadzamy dodatkową "warstwę" modelu, która musi te wszystkie elementy poskładać w całość i przedstawić w postaci obiektów i dodatkowych narzędzi do ich wyszukiwania/pobierania. Jest to nieco mniej intuicyjne, gdyż dodanie nowej klasy/obiektu wymaga znajomości pewnych założeń systemu plików i jeśli nie jest do tego udostępnione dodatkowe narzędzie to mamy problem (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Przykładowe drzewo takiego systemu plików: http://www.binarychoice.pl/_images/p28/carbon-uml.gif Mam nadzieję Seth, że nie masz nic przeciwko (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Oba rozwiązania mają swoje minusy, ja planowałem zaimplementować w swoich projektach VFS, ale przyglądając się prezentacjom Ruby on Rails byłem mile zaskoczony prostotą ich ORM-a. Chyba najlepszym rozwiązaniem będzie jakieś połączenie obu rozwiązań. Cóż więcej mogę powiedzieć - do dyskusji koledzy (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 521 Pomógł: 0 Dołączył: 3.11.2003 Skąd: 3city Ostrzeżenie: (0%) ![]() ![]() |
Czy rzeczywiście ORM pozwala uwolnić się od SQLa? Ja jakoś nie jestem do tego przekonany. Z jednej strony mam bardzo małe doświadczenie w używaniu tego typu narzędzi, z drugiej strony moje doświadczenie to raczej duże bazy danych i tuningowanie skomplikowanych zapytań. Joiny kilkunastu tabel, wielokrotnie zagnieżdżone podzapytania, funkcje hurtowni danych, procedury PL/SQL... takie rzeczy. I pomimo dostępności naprawdę rozbudowanej biblioteki pozwalającej "zbudować" zapytanie SQL z obiektów Criteria (i wielu innych), nie dało się z tego korzystać, bo powyżej pewnego poziomu zakręcenia SQL nie daje się go przełożyć na obiekty.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 19:52 |