Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 294 Pomógł: 4 Dołączył: 19.12.2008 Ostrzeżenie: (0%)
|
Witam. Dosyć niedawno zacząłem odkrywać programowanie obiektowe, więc mam pytanie. Stworzyłem skrypt, który wyciąga z bazy danych jednym zapytaniem dzisiaj, wczoraj zalogowanych userów, oraz dzisiaj i wczoraj zarejestrowanych. Wszystko ładnie działa, jednak gdybym tworzył strukturalnie, wydaje mi się było by mniej kodu - tyle, że więcej zapytań do bazy danych - a chciałbym wszystko zminimalizować (IMG:style_emoticons/default/winksmiley.jpg) To w kwestii nauki.
Napisałem tak ( pewnie chaotycznie (IMG:style_emoticons/default/winksmiley.jpg) ); :
Tyle w tym dobrego, że całą klasę mam w innym pliku i go includuje, a w dowolnym miejscu wpisuję tylko dwa wyrazy : $obiekt->zalezy_co_chce_otrzymac . Natomiast strukturalnie napisałbym cztery proste funkcje, które wyciągają odpowiednio z bazy danych odpowiednie wartości, albo jedną, w której wpisuję warunek... Jakie inne zastosowania mógłbym użyć, by to "programowanie obiektowe" w tym przypadku co podałem, było czytelniejsze, o znacząco mniej objętości ? W tym przypadku obciążam bardziej tylko serwer, a w przypadku wielu zapytań obciążył bym bardzo znowu bazę danych... ? Nie chodzi mi tutaj o gotowe rozwiązanie, tylko o wskazówki, czego jeszcze nie zastosowałem, co ułatwiło by pracę na takich właśnie skryptach o oparciu o obiektowość? Pozdrawiam! Ten post edytował bialko0019 13.11.2010, 12:10:14 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 294 Pomógł: 4 Dołączył: 19.12.2008 Ostrzeżenie: (0%)
|
1) No tak, bo mam trochę w bazie rekordów, które mają puste kolumny `login` i inne, ale ich potrzebuję w innym celu niż statystyki dlatego ich w taki sposób wykluczam teraz.
Czyli w przypadku takiego skryptu założeniem najodpowiedniejszym założeniem by było: 1. Policzenie wszystkich użytkowników, zapytaniem:
2. Znalezienie, ile jest użytkowników z dzisiejszym logowaniem:
3. Analogicznie z ostatnim logowaniem.. Rzeczywiście, chcę zobaczyć ile takich rekordów jest, a nie potrzebne są mi dane kto co i jak i kiedy, gdy wywołałem zapytaniem SELECT * FROM uzytkownicy... Teraz praktycznie: Tworzę klasę. Piszę funkcje, które zwracają odpowiednie liczby - zależy co chcę uzyskać. Uzyskaną liczbę przypisuję do obiektu, np. : $this=dzisiaj_zalogowani=$dzisiejszy zalogowani . Zamykam klasę. Teraz w miejscu, gdy chcę wyświetlić te dane statystyczne, po prostu piszę:
O to Ci chodziło mniej więcej ? o coś takiego:
i ten poprzedni wykonuje się średnio 0.5s, a ten powyżej średnio 0.05, może dłużej - czyli ok 10 razy szybciej. Ale mniej więcej, to jest dobrze napisany skrypt z klasą? Ten post edytował bialko0019 14.11.2010, 11:14:52 |
|
|
|
bialko0019 [MySQL][PHP]zooptymalizowanie skryptu 13.11.2010, 12:09:04
nospor 1) WHERE login NOT LIKE''
Co to ma byc?
2... 13.11.2010, 13:09:08
Mephistofeles Można wiedzieć po co masz w bazie puste loginy? Po... 14.11.2010, 12:40:46
bialko0019 Mephistofeles, pytałem w temacie o klasę, a nic ni... 14.11.2010, 19:43:25
nospor Chodziło mi o to, ze do sprawdzania czy cos jest p... 15.11.2010, 07:47:40 ![]() ![]() |
|
Aktualny czas: 28.12.2025 - 14:36 |