Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> baza danych koncepcja obiektowa
collecter
post
Post #1





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 22.10.2010

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


Poniewaz dopiero od niedawna mam stycznosc z objektowym projektowaniem w php, mam jedno pytanie ktore przysparza mie sporo trudnosci. Dotyczy ono polaczenia z baza danych i pozniejszego jego wykorzystywania. Zalozmy ze mamy kilka klas korzystajacych z bazy danych. Czy w waszych aplikacjach na poczatku pliku tworzycie polaczenie ( za pomoca funkcji mysql connect ) i dolaczacie ten plik do kazdej strony, a w waszych klasach zakladacie ze polaczenie zostalo juz wczesniej otwarte i uzywacie komend mysql query a na koncu strony zalozmy w pliku footer.php zamykacie polaczenie? Czy moze tworzycie klase mysql z komendami query itd. I kazda klasa korzysta z jej instancji i metod.

Chcac dac przyklad zeby to lepiej zobrazowac zalozmy ze mam klase User i metode setName. Czy w metodzie setName uzywacie bezposrednio komendy mysql update liczac ze polaczenie zostalo otwarte wczesniej (nie w tej klasie, a dolaczone w pliku do kazdej strony) czy moze w tej metodzie tworzycie instancje klasy MYSQL (stworzonej przeze mnie i np laczycie sie z baza w konstruktorze) i korzystacie z jej metod zeby wykonac operacje na bazie danych.

Mam nadzieje ze nie zagmatwalem tego za bardzo.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Inscure
post
Post #2





Grupa: Zarejestrowani
Postów: 61
Pomógł: 4
Dołączył: 18.09.2010

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


Trzeba zacząć od tego, że funkcje mysql_ nie są już zalecane do używania, w szczególnie jeśli chodzi o programowanie obiektowe.
Dużo lepszym rozwiązaniem jest skorzystanie z biblioteki PHPDataObject.
Sposób jej wykorzystania i część odpowiedzi na Twoje pytania zawarłem w krótkim artykule (jeśli mogę tak go nazwać) dotyczącym:

- łączenia z bazą;
- przekazywania instancji do kolejnych klas;

Zachęcam do analizy:

http://page-manager.com/forum/viewtopic.ph...9277228f31c061f

Sposób pobierania danych, zamieszczania, usuwania itd znajduję się tu:

http://pl.wikibooks.org/wiki/PHP/Biblioteka_PDO

Ten post edytował Inscure 29.04.2011, 22:26:48
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: 26.12.2025 - 20:17