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
Zyx
post
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
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: 27.12.2025 - 15:21