![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 50 Pomógł: 0 Dołączył: 29.11.2003 Ostrzeżenie: (0%) ![]() ![]() |
Witam
W tej chwili konstruktor wymusza 3 połączenie do bazy, czy taki zapis konstruktora jest poprawny, czy można to zoptymalizować?
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
Napisałeś klasę, która wymusza jakaś akcję już w konstruktorze. To nie najlepszy pomysł, bo za to powinny odpowiadać poszczególne metody. Powiedzmy, że będziesz chciał pobrać same dane użytkownika metodą get_dane(), ale klasa przy okazji zrobi update w bazie. Kiepsko. Metoda get_dane() powinna przyjmować jakiś parametr np. id usera w przypadku, gdy będziesz chciał wykonać jedynie pobranie danych.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 50 Pomógł: 0 Dołączył: 29.11.2003 Ostrzeżenie: (0%) ![]() ![]() |
Wymyśliłem sobie że update ma wykonywać się przy każdym odświeżeniu strony,
podczas gry często się zmienia stan zmiennych dla Playera Po wykonaniu update pokazuje stan zmiennych ... Dodałem do klasy warunek, który zmniejsza o 1 zapytanie do bazy, zaczynam od zera OOP to pierwsze kroki i dlatego tak się dopytuję czy dobrze kombinuję
Ten post edytował Nortonek 12.02.2014, 21:18:45 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
W przytoczonym kodzie myślę, że tak na oko znajduje się przynajmniej z 10-15 nieprawidłowości. Nie chce mi się ich wszystkich wymieniać, ale dam pewną radę - poszukaj gotowej (i sensownej) klasy w internecie, porównaj, wyciągnij wnioski.
-------------------- ET LINGUA EIUS LOQUETUR IUDICIUM
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 50 Pomógł: 0 Dołączył: 29.11.2003 Ostrzeżenie: (0%) ![]() ![]() |
trudno jest szukać jeśli nie ma się pojęcia czego
![]() tą klasę uważałem za cud techniki |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
Już dałem Ci odpowiedź, że klasa jest bez sensu i kontruktor robi niepotrzebne zadania. Za update, czy pobranie danych odpowiadają metody. W przytoczonym przez Ciebie przykładzie stają się one bezużyteczne biorąc pod uwagę ich jednostkowe wykorzystanie w innym kodzie.
Jak mówiłem, nie pobierzesz samych danych, nie zrobisz samego update bo to suche metody bez żadnych parametrów. Konstruktor możesz wywalić, a zrobić jedynie same metody do pobrania/update, które przyjmują jakiś parametr (najlepiej id usera). Wtedy robisz instancję obiektu i operujesz na nim $obiekt->getDane(u$ser_id). Oczywiście ta metoda musiałaby coś zwracać. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 29.06.2025 - 16:57 |