Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Database Mapper
Forum PHP.pl > Forum > PHP > Object-oriented programming
Turgon
Przeczytałem kilka artykułów na internecie, choć mało ich jest i próbuję to jakoś zaimplementować. Jak na razie doszedłem to tego, że zrobiłem implementację Active Record, ale to tyczy się tylko jednego rekordu, a co zrobić w przypadku wielu ? Już nie wiem co robić sad.gif To temat bardzo teoretyczny i mam nadzieję, że jasno wyraziłem o co mi chodzi.
Ociu
Zaglądałeś do propelu lub http://www.phpclasses.org/browse/file/13609.html ?
Fipaj
http://wiki.rubyonrails.org/rails/pages/ActiveRecord

Ruby on Rails jako pierwszy zaimplementował ActiveRecord w takiej postaci, jaką teraz znamy - bez plików konfiguracyjnych, etc, dla mnie znacznie przeganiając Propela i konkurencję. Na powyższej stronie trochę sobie o tym poczytasz i poznasz implementację tego w Rubym, a potem to po prostu poszukaj dobrego odpowiednika w PHP.

Ja na przykład lubię tą klasę do obsługi bazy danych z frameworka CodeIgniter, tam też jest bardzo przystępna dokumentacja.
Turgon
Ja obecnie korzystam z Creole i chyba zostanę smile.gif Szybkie i łatwe smile.gif
Fipaj
Turgon, twój post wniósł okropnie dużo, zwłaszcza w tym temacie ;P A tak bardziej serio to super, wpisujcie tu wszystko czego używacie, a ja i tak powiem - ActiveRecord jest lepszy. A Creole też używałem! Tak więc zanim czegoś nie napiszesz w AR, to nawet nie zaprzeczaj ;-)

Idź i się ucz, bo warto. Trzeba się w końcu ruszać trochę do przodu, programiści stojący w miejscu... no, nie będę się produkował. smile.gif
Strzałek
Cytat(Turgon @ 15.03.2007, 16:31:24 ) *
Ja obecnie korzystam z Creole i chyba zostanę smile.gif Szybkie i łatwe smile.gif



Pomijając to że Creole mam mało wspólnego z DbMapperem bo jest warstwą bazy danch (Database Layer), to pisząc na PHP5 czemu nie używasz PDO? Jest szybsze i tak samo łatwe worriedsmiley.gif
Turgon
Pracuje na serwerze, które nie ma PDO i to jest wymaganie tongue.gif
Z resztą żaden z was nie chciał się życzliwie wiedzą podzielić, tylko odesłaliście mnie do ActiveRecord w Ruby... Nie znam Ruby, ani RoRa! Więc czego ode mnie oczekujecie? Zrezygnowałem z tych prac, gdyż nie ma materiałów wystarczających i osób gotowych pomóc.
Fuzja
A nie sądzisz, że activerecord to jest wzorzec projektowy i ma swoją implementację w php ?
Poczytaj booka php architecta o design patternsach.
Fipaj
W sumie to nie musisz, jakbyś się dokładniej w te linki zagłębił, to byś zrozumiał, ale...

Tak to wygląda w PHP:

http://codeigniter.com/user_guide/database...ive_record.html
Turgon
Nie skomentuje posta Fuzji, który równie mało wnosi do tematu.
Fipaj: Nareszcie coś sensownego na temat smile.gif
Fipaj
Turgon, nareszcie coś dla lenia. tongue.gif
Fuzja napisał nie taką głupią rzecz, ActiveRecord to tylko wzorzec projektowy, i jego implementacji jest wiele, ja podałem tylko przykładową. Ale przy okazji: najprostszą. Lepiej zacząć od tego.
Ociu
Turgon: Każdy w tym temacie napisał coś na temat i wszystko jest jak najbardziej sensowne. Chodzi o to, że Tobie się nie chce. Wyszłeś z założenia "E tam, rzucą jakimiś linkami, może jeszcze mi napiszę gotowy kod". Poszukaj sam. Jak rzuciłem propel to rzucasz się na google jak wygłodzony wilk i szukasz dokumentacji. A nie jak Fipaj dał Ci linka to Ty wyskakujesz, ze wkońcu coś sensownego. Czasem trzeba się starać.
o Ruby też jest grejt post. Wcale nie trzeba być specem od Rubego aby wiedzieć jak to działa, dokumentacje są. Wystarczy tylko czytać kod i szukać co nie wiesz w dokumentacji. Ludzie się produkują,a Ty poprostu doceniasz tego, który dał Ci wszystko na tacy. Trochę poszanowania dla innych.
Koniec na ten temat.
pozdrawiam, Wojtek
Turgon
Ociu: Nie rozumiem o ci chodzi. Szukam informacje na konkretne tematy. Szukałem na temat DatabaseMapper'a, a nie ActiveRecord, gdyż ten drugi jest dla mnie aktywny rekordem. A o takiej implementacji w CI nie wiedziałem, gdyż nie znam tego Frameworka.
Fipaj: Nie wiedziałem o tej implementacji, to nie szukałem informacji na jej temat.
Fipaj
Wiedziałeś, przecież napisałem o niej w pierwszym poście!
ActiveRecord to sposób na dostanie się do danych. Tak jak DbMapper, tak jak warstwa abstrakcji (Creole, ADOdb, PDO), tak jak prosty, gówniany skrypt operujący na funkcjach mysql_*. Tylko lepszy i prostszy snitch.gif (to była subiektywna opinia, gdyby ktoś chciał polemizować ;])

Dobra, EOT, jeśli chodzi o rzucanie sobie oskarżeń o lenistwo, co? ;] Turgon, miłej nauki.
splatch
Pozwolę sobie zabrać głos w tej jakże produktywnej dyskusji winksmiley.jpg.

Cytat(Ociu @ 15.03.2007, 12:23:53 ) *
Zaglądałeś do propelu lub (...)

Poprawną odmianą tego rzeczownika jest dopełniacz, czyli Propela a nie miejscownik.

Cytat(Fipaj @ 15.03.2007, 12:50:54 ) *
http://wiki.rubyonrails.org/rails/pages/ActiveRecord

Ruby on Rails jako pierwszy zaimplementował ActiveRecord w takiej postaci, jaką teraz znamy - bez plików konfiguracyjnych, etc, dla mnie znacznie przeganiając Propela i konkurencję. Na powyższej stronie trochę sobie o tym poczytasz i poznasz implementację tego w Rubym, a potem to po prostu poszukaj dobrego odpowiednika w PHP.

To, że w Ruby on Rails coś zostało zaimplementowane nie znaczy, że nie było tego wcześniej. Idąc Twoim tropem można by dojść do wniosku, że najlepsza implementacja MVC, powstała również z chwilą napisania Ruby on Rails.
Martin Fowler opisał wzorce odwzorowań obiektowo relacyjnych na długo przed powstaniem RoR. W Patterns of Enterprise Application Architecture jest również opis Active Recorda. Zwróć uwagę, że Propel to nie jest implementacja Active Recordu a Table Data Gateway + Row Data Gateway, także porównujesz tu dwa różne wzorce, które stosuje się w różnych sytuacjach. Wydaje mi się, że nie masz prawa porównywać tych implementacji AR w RoR oraz Propela w chwili gdy nie odróżniasz wzorców odwzorowań. Dobrym porównaniem w tym momencie będzie to, że wypowiadasz się na temat aut klasy combi opierając się tylko na doznaniach, które masz z jazdy Fiestą.

Cytat(Fuzja @ 15.03.2007, 20:29:07 ) *
A nie sądzisz, że activerecord to jest wzorzec projektowy i ma swoją implementację w php ?
Poczytaj booka php architecta o design patternsach.

Skarbnicą wiedzy odnośnie odwzorowań O/R jest wcześniej wymieniona pozycja, którą oczywiście polecam. smile.gif


Cytat(Fipaj @ 15.03.2007, 21:10:45 ) *
Wiedziałeś, przecież napisałem o niej w pierwszym poście!
ActiveRecord to sposób na dostanie się do danych. Tak jak DbMapper, tak jak warstwa abstrakcji (Creole, ADOdb, PDO), tak jak prosty, gówniany skrypt operujący na funkcjach mysql_*. Tylko lepszy i prostszy snitch.gif (to była subiektywna opinia, gdyby ktoś chciał polemizować ;])

Dobra, EOT, jeśli chodzi o rzucanie sobie oskarżeń o lenistwo, co? ;] Turgon, miłej nauki.

ActiveRecord nie stoi w sprzeczności z użyciem jakiejś warstwy abstrakcji dostępu do danych.
Ociu
Cytat(splatch @ 16.03.2007, 22:09:08 ) *
Poprawną odmianą tego rzeczownika jest dopełniacz, czyli Propela a nie miejscownik.

Byłem blisko ;P W sumie to nie sam nie wiem dlaczego tak napisałem.
Nvm.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.