Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Własny DAO dla MySQLa - zwracanie wyniku
ShaXbee
post 14.05.2005, 09:23:45
Post #1





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 19.10.2004
Skąd: Opole

Ostrzeżenie: (0%)
-----


Do pracy dyplomowej stworzyłem prosty DAO, który ma mi ułatwić życie i odciążyć od przepisywania w nieskończoność podobnych zapytań MySQL-a. Jego użycie polega na utworzeniu klasy MySqlList, załadowaniu konfiguracji danej tabeli (użyte pola, funkcje, pola z innych tabel) i pobraniu wyniku poprzez jedną z metod:
* getAll() - pobiera wszystkie wyniki
* get($id) - pobiera element o konkretnym ID
* getBy[Tu nazwa dowolnego z pól tabeli wg. którego szukamy, użyta funkcja __call()]

Do tej pory funkcja getAll i getBy zwracała wynik w postaci tablicy obiektów MySqlListItem, ale zastanawiam się czy jest to rozwiązanie sensowne. Myślę nad wprowadzeniem w klasie MySqlList publicznej zmiennej $result, która była by Iteratorem - przy okazji mógłbym w ten sposób pozbyć się metody get($id);

Czy macie jakieś inne rozwiązania - szukam czegoś możliwie intuicyjnego i sensownego.

PS. Używam PHP5
Go to the top of the page
+Quote Post
matid
post 14.05.2005, 13:12:53
Post #2





Grupa: Zarejestrowani
Postów: 362
Pomógł: 0
Dołączył: 18.02.2004
Skąd: Knurów

Ostrzeżenie: (0%)
-----


Ja do obsługi MySQLa korzystam z Creole. Do tego można to połączyć z bardzo ciekawym rozwiązaniem, a mianowicie Propel
Go to the top of the page
+Quote Post
bela
post 14.05.2005, 13:36:46
Post #3


Administrator PHPedia.pl


Grupa: Developerzy
Postów: 1 102
Pomógł: 2
Dołączył: 14.09.2003

Ostrzeżenie: (0%)
-----


Cytat(matid @ 2005-05-14 14:12:53)
Ja do obsługi MySQLa korzystam z Creole. Do tego można to połączyć z bardzo ciekawym rozwiązaniem, a mianowicie Propel

Ja aktualnie zabrałem się za pisanie czegoś ala Propel, aczkolwiek nie wykorzystuje Creole tylko PDO, i nie będzie tam Phinga który nie działa z php 5.1 smile.gif


--------------------
Go to the top of the page
+Quote Post
Nievinny
post 14.05.2005, 13:39:04
Post #4





Grupa: Zarejestrowani
Postów: 134
Pomógł: 0
Dołączył: 27.01.2005
Skąd: Białystok

Ostrzeżenie: (0%)
-----


OT
Sorry Bela, ale czego Ty nie robisz? tongue.gif
/OT

Ja miałem kiedyś mały prymitywny systemik, ale teraz używam Propela i na php5.1 (cvs) PDO i wystarcza


--------------------
Go to the top of the page
+Quote Post
ShaXbee
post 14.05.2005, 14:31:18
Post #5





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 19.10.2004
Skąd: Opole

Ostrzeżenie: (0%)
-----


Taa, ale tematem mojej dyplomówki jest właśnie napisanie własnego DAO, a nie użycie gotowca smile.gif
Go to the top of the page
+Quote Post
bela
post 14.05.2005, 14:35:37
Post #6


Administrator PHPedia.pl


Grupa: Developerzy
Postów: 1 102
Pomógł: 2
Dołączył: 14.09.2003

Ostrzeżenie: (0%)
-----


Cytat(ShaXbee @ 2005-05-14 15:31:18)
Taa, ale tematem mojej dyplomówki jest właśnie napisanie własnego DAO, a nie użycie gotowca smile.gif

Tutaj masz mniej więcej wyglądać jak to będzie wyglądać :]


--------------------
Go to the top of the page
+Quote Post
ShaXbee
post 14.05.2005, 21:52:39
Post #7





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 19.10.2004
Skąd: Opole

Ostrzeżenie: (0%)
-----


Fajny pomysł z tym XMLem opisującym relacje itp. Ale dalej nie dostałem odpowiedzi na swoje pytanie: jaki sposób zwracania wyniku będzie najlepszy.
Go to the top of the page
+Quote Post
M4chu
post 15.05.2005, 09:54:48
Post #8





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 28.09.2003
Skąd: Rzeszów

Ostrzeżenie: (0%)
-----


Moze tak jak w Creole - obiekt ResultSet i z niego Iterator.
Go to the top of the page
+Quote Post
ShaXbee
post 15.05.2005, 10:04:23
Post #9





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 19.10.2004
Skąd: Opole

Ostrzeżenie: (0%)
-----


Oki - spróbuję tak winksmiley.jpg BTW to się pochwale: jeżeli zrobimy coś takiego $item->pole = 'nowa wartość' to po wywołaniu $list->sync(); zostanie to zsynchronizowane z bazą (również wiele zmian naraz) smile.gif Jak skończę pracę nad klasą i opracuję ładowanie konfiguracji z .xml'a to postaram się Wam ją pokazać - może da się jakoś ją zoptymalizować smile.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 18.07.2025 - 00:39