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: 952 Pomógł: 154 Dołączył: 20.01.2007 Skąd: /dev/oracle Ostrzeżenie: (0%)
|
Witaj Inscure, na Twoją prośbę przesłaną przez PW odpowiadam krótko: tę ideę można o kant czterech liter rozbić, bo z programowaniem obiektowym ma ona tyle wspólnego, co piernik z wiatrakiem. Po co Ci obiekty, skoro później budujesz na niej emulację zwykłego kodu proceduralnego? Po co w tej emulacji kodu tworzysz obiekt, który operuje jedynie na elemencie statycznym? Nie lepiej wszystko zrobić statycznie? Wreszcie, jak już robisz coś singletonopodobnego, to nazwij to odpowiednio. Wypadałoby też przeczytać krytykę tego wzorca projektowego.
Do zarządzania obiektami w aplikacji wymyślono całą masę elastyczniejszych i wyspecjalizowanych rozwiązań. Zamiast wyważać otwarte drzwi i tworzyć programistyczne potworki, poczytaj sobie o takich zagadnieniach, jak Dependency Injection. Jeśli zaś chodzi o magię, polecam to: http://www.zyxist.com/pokaz.php/harryemu_juz_podziekujemy |
|
|
|
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
Inscure Zastanawiałem się nad dwoma typami rozwiązań probl... 1.05.2011, 17:27:04
pejott Ja bym zdecydowanie zrezygnował z metod statycznyc... 1.05.2011, 17:55:40 ![]() ![]() |
|
Aktualny czas: 27.12.2025 - 15:21 |