Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Własny DAO dla MySQLa - zwracanie wyniku
ShaXbee
post
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
 
Start new topic
Odpowiedzi
ShaXbee
post
Post #2





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

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


Oki - spróbuję tak (IMG:http://forum.php.pl/style_emoticons/default/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) (IMG:http://forum.php.pl/style_emoticons/default/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ć (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 2.10.2025 - 19:28