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. |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 81 Pomógł: 4 Dołączył: 15.02.2009 Ostrzeżenie: (0%)
|
Ja bym zdecydowanie zrezygnował z metod statycznych, ze względu że nie da się ich testować.
Jest wiele rozwiązań, ale według mnie najlepsze to właśnie DependencyInjection. Stwórz obiekt połączenia z bazą a potem przekazuj go czy to setterami, czy w konstruktorze innych obiektów. Pozdrawiam. |
|
|
|
collecter baza danych koncepcja obiektowa 20.04.2011, 21:17:38
Crozin 1. Od połączenia z bazą danych w PHP masz PDO, a n... 20.04.2011, 21:25:23 
pyro Cytat(Crozin @ 20.04.2011, 22:25:23 )... 20.04.2011, 22:39:59
Crozin CytatNigdy nie widziałem wiarygodnego wpisu, który... 20.04.2011, 23:06:08
smentek Jakąkolwiek warstwę abstrakcji wybierzesz (PDO jes... 22.04.2011, 10:56:52
Inscure Trzeba zacząć od tego, że funkcje mysql_ nie są ju... 29.04.2011, 22:22:59
Zyx Witaj Inscure, na Twoją prośbę przesłaną przez PW ... 1.05.2011, 13:49:00
Inscure Zastanawiałem się nad dwoma typami rozwiązań probl... 1.05.2011, 17:27:04 ![]() ![]() |
|
Aktualny czas: 27.12.2025 - 06:59 |