![]() |
Klasy, obikety i baza - Wersja do druku +- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl) +-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www) +--- Dział: Programowanie, Bazy danych (https://www.webmastertalk.pl/forum-programowanie-bazy-danych) +--- Wątek: Klasy, obikety i baza (/thread-klasy-obikety-i-baza) |
Klasy, obikety i baza - Marys - 02-04-2011 Witam, bawię się teraz klasami oraz obiektami i stworzyłem sobie taką przykładową klasę połączenia z bazą i z jakąś akcje. Wszystko działa, ale chciałem prosić o ocenę tej klasy, w celu wyeliminowania jakichś błędów: Kod PHP: <?php Działa to tak, że łączymy się z bazą, później ustawiamy zmienną $action, która jest odpowiedzialna za akcje w bazie, wykonujemy akcje i zwracamy $result i z tą zmienną możemy sobie robić coś tam dalej, a na koniec zamykamy ![]() Co do akcji to można byłoby dla każdej stworzyć inną funkcję lub nową klasę, która by dziedziczyła po tej... Dobrze myślę? RE: Klasy, obikety i baza - Pedro84 - 02-04-2011 Jaki ma sens tworzenie klasy gdzie używasz mysql_query? Od tego jest PDO. Druga kwestia, patrz punkt 2 poniżej. Tego nie powinieneś ładować w klasę, tylko traktować jako zestaw funkcji. Co do samego kodu: 1. Zmienne konfiguracyjne powinni być umieszczone w innym pliku. Jeśli już chcesz w tym samym, powinny być zadeklarowane jako protected $host, etc. 2. A gdzie obsługa błędów, wyjątki? RE: Klasy, obikety i baza - KowR - 02-04-2011 Trochę bez sensu... 1. Nie widzę tu Singletona więc i łączysz się z BD zawsze i wszędzie zazwyczaj po kilka razy w projekcie. -> czytaj: wzorzec Singleton 2. Tak jak kolega napisał wyżej, brak obsługi błędów i wyjątków. 3. Jeśli chodzi o mnie to ja bym już używał "obiektowej" wersji czyli mysqli -> czytaj: mysqli. RE: Klasy, obikety i baza - Marys - 02-04-2011 Ale to nie do żadnego projektu, tylko w ramach ćwiczeń ![]() ![]() RE: Klasy, obikety i baza - Pedro84 - 02-04-2011 (02-04-2011, 22:09)Marys napisał(a): Ale to nie do żadnego projektu, tylko w ramach ćwiczeńNie zrozumiałeś mnie. Twój kod ma wspólnego z klasą tylko i wyłącznie słówko "class". Poczytaj o wzorcach projektowych, obsłudze błędów i wyjątków. RE: Klasy, obikety i baza - KowR - 02-04-2011 Możesz stworzyć, ale nie musisz bo są już gotowe jak PDO do obsługi bazy danych. Czy jest sens? Ja np. w swoich aplikacjach kiedyś dołączałem, ale potem przyszedł czas na Symfony i Yii. "W nocy przeczytałem książkę i tam stworzyli klasę abstrakcyjną i to jakoś miało działać tak, że łączymy się z bazą tylko raz. " -> o tym jest właśnie wzorzec Singleton. |