![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 135 Pomógł: 0 Dołączył: 28.09.2003 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
Witam, troche zainspirowany tematem psa, postanowiłem napisać własne "coś" do obsługi bazy danych. Narazie nazwałem to tak jak w topicu (od Hybrid - moj hmm framework? w kazdym razie coś w tym stylu, niestety też jeszcze teoria
![]()
Cóż, czekam na jakikolwiek odzew, szczególnie opinie, no i czy ktoś by tego wogóle używał ![]() ![]() |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 657 Pomógł: 2 Dołączył: 15.08.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Ja osobiście robie tak iż sterownik DB ma tylko wykonywać odpowiednie funkcje (mysql_*, sqlite_*) i ewentualnie wspomagać escapeowanie danych etc.
Wszystkie zaś zapytania trzymam w jednym miejscu, gdzie w razie konieczności wystarczy je pozamieniać na odpowiednie dla danej bazy danych. Twój przykład oczywiście jest ciekawy - ale dla mnie to za duży stopień abstrakcji. Dla mnie nie przydatny, ale może dla innych? :] Na pewno pisząc to czegoś ciekawego i nowego się nauczysz! -------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 487 Pomógł: 7 Dołączył: 7.01.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
createTable() - moim zdaniem pomyłka - podobnie tableExists - po co tworzyć dodatkowe zapytania? Jeśli już createTable($columns_and_indexes).
Widzę, że korzystasz z obiektów, które reprezentują dane - zatem czy nie lepiej użyć new Author niż $authors->newRecord()? Jestem ciekawy jak planujesz rozwiązać problem z kluczami obcymi ![]() Warto się zastanowić nad deleteRecords(Criteria $c) a nie deleteRecord($record). Ogólnie chyba wygodniej byłoby określić jakąś klasę bazową - podobnie jak w propelu BasePeer, następnie AuthorPeer i na końcu Author. Taka budowa centralizuje część zadań. No i tak na końcu - nie wiem czemu unikacie Propela, przecież to bardzo wygodne narzędzie... Ten post edytował splatch 22.09.2005, 08:13:56 -------------------- Łukasz Dywicki
Independent Java and open source software consultant. Blog - Java, OSGi, integracja oprogramowania.. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 135 Pomógł: 0 Dołączył: 28.09.2003 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
Czemu tableExists, to pomylka?
Nie ma 'new Author', bo chcę uniknąć mapowania i tworzenia klas - user ładuje biblioteke i już może sam pracować na danych. Criteria oczywiscie sie spodobala, bo narazie nie widze innego sposobu do budowania... kryteriow ![]() Ogolnie to chcialem zrobic takie wygodne narzedzie do np prostego edytowania tabel - zakrywania zapytan ALTER TABLE, szybkiego wybierania rekordów. Vengeance: wiadomo, pisze dla wlasnej przyjemnosci i pewnie na mojej tylko sie skonczy ![]() |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 362 Pomógł: 0 Dołączył: 18.02.2004 Skąd: Knurów Ostrzeżenie: (0%) ![]() ![]() |
Cytat(splatch @ 2005-09-22 09:13:32) No i tak na końcu - nie wiem czemu unikacie Propela, przecież to bardzo wygodne narzędzie... Było by super wygodne, powiem więcej - prawie niezastąpione, gdyby nie wymagało phinga. IMO z tego powodu staje się bardziej kłopotliwe. PS. Wiem, że Phing nie jest potrzebny do pracy aplikacji, a tylko do wygenerowania kodu, ale IMO można by to zrobić samym php. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 07:43 |