Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [OOP-php] [ocena] moja pierwsza klasa w OOP, klasa zliczająca ilość userów on-line
Athlan
post 19.07.2006, 08:41:30
Post #1





Grupa: Developerzy
Postów: 823
Pomógł: 12
Dołączył: 18.12.2005

Ostrzeżenie: (0%)
-----


Klasa zlicza ile jest userów on-line. Opiera się na MySQL, w tabeli są przypisywane kolejno numery IP oraz czas wygaśnięcia sesji (time() + 180). Jak sesja kolesia się skończy, rekord zostaje usunięty i liczna online spada...

http://dyzio.nowiny.pl/bin/sources/online.class.txt

Jest to moja pierwsza klasa w php więc się nie śmaic dry.gif

Jak macie jakieś uwagi/sugestie (a takie będą bo noobie w OOP - 1 klasa blink.gif ) to pisać smile.gif

oceniać cool.gif

Ten post edytował Athlan 19.07.2006, 08:41:46


--------------------
Portfolio: Vgroup.pl | athlan.pl | Test.php.pl - sprawdź się z wiedzy o PHP i ułóż własne pytania!
Pomogłem? Kliknij pod postem.
Go to the top of the page
+Quote Post
nospor
post 19.07.2006, 08:43:16
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Do oceny mamy forum oceny. Przenosze


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
bigZbig
post 19.07.2006, 09:06:34
Post #3





Grupa: Zarejestrowani
Postów: 740
Pomógł: 15
Dołączył: 23.08.2004
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Deklarujac wlasciwosci klasy w PHP5 nie uzywa sie slowa var tylko, podobnie jak w przypadku metod, nazwy wlasciwosci poprzedza sie slowami public, private lub protected.

Metody, ktore nie korzystaja z wlasciwosi obiektu i maja charakter publiczny, jak np encodeIP i getIP zrob najlepiej statycznymi.

Nazwy klas pisane sa zwykle wielkimi literami. Poczytaj tez na temat phpDocumentatora i komentowania kodu. To tylko szczegol, ale podawanie w komentarzu nazwy metody bezposrednio nad nia jest niepotrzebne.

To tyle na poczatek

Ten post edytował bigZbig 19.07.2006, 09:07:29


--------------------
bigZbig (Zbigniew Heintze) | blog.heintze.pl
Go to the top of the page
+Quote Post
Athlan
post 19.07.2006, 09:49:23
Post #4





Grupa: Developerzy
Postów: 823
Pomógł: 12
Dołączył: 18.12.2005

Ostrzeżenie: (0%)
-----


Dobrze @bigZbig, zastosowałeś się do Twoich uwag smile.gif

choć metodę getIP() pozostawie publiczną, bo może ona zostac wykorzystana nie tylko w klasie... taki mam zamiar

Dzięki za uwagi... script updated: http://dyzio.nowiny.pl/bin/sources/online.class.txt

prosze o kolejne uwagi/porady

btw: jak na 1 raz to dobrze? tongue.gif

Ten post edytował Athlan 19.07.2006, 09:51:09


--------------------
Portfolio: Vgroup.pl | athlan.pl | Test.php.pl - sprawdź się z wiedzy o PHP i ułóż własne pytania!
Pomogłem? Kliknij pod postem.
Go to the top of the page
+Quote Post
nospor
post 19.07.2006, 09:52:54
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
choć metodę getIP() pozostawie publiczną, bo może ona zostac wykorzystana nie tylko w klasie... taki mam zamiar
No i wlasnie dlatego powinna byc statyczna.

Cytat
Dobrze @bigZbig, zastosowałeś się do Twoich uwag
Albo sciemniasz, albo podales zly link, bo ja nie widze abys cos dostoswal sie do uwag bigZbiga. Na czym polegalo Twoje dostosowanie sie?

edit: choc moze kluczem do zagatki jest to slowo: "zastosowałeś" no tak, bigZbig sam sie dostosowal do swoich uwag smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Athlan
post 19.07.2006, 10:19:14
Post #6





Grupa: Developerzy
Postów: 823
Pomógł: 12
Dołączył: 18.12.2005

Ostrzeżenie: (0%)
-----


Cytat
No i wlasnie dlatego powinna byc statyczna.

dobra poprawiłem...
Cytat
Albo sciemniasz, albo podales zly link, bo ja nie widze abys cos dostoswal sie do uwag bigZbiga.

nie widzisz?
- poprawiłem deklarację zmiennych na początku (dodalem private)
- z opisów usunąłem nazwy funkcji (fakt... po co to)
- static function encodeIP()
- class ONLINE - nazwa klasy z wielkich liter
- no i teraz dałe static na getIP()

@nospor - możliwe że patrzyles na klasę wcześniej i nie odświeżyłeś strony jak ja zobaczyłeś po raz drugi (cache)... wyczyść sobie cache i daj f5 albo wejdź z np badzIEwia (lol) a potem na mnie krzycz bo mi się smutno zrobiło sad.gif

pozdro smile.gif

Ten post edytował Athlan 19.07.2006, 10:20:08


--------------------
Portfolio: Vgroup.pl | athlan.pl | Test.php.pl - sprawdź się z wiedzy o PHP i ułóż własne pytania!
Pomogłem? Kliknij pod postem.
Go to the top of the page
+Quote Post
Diwi
post 19.07.2006, 10:26:04
Post #7





Grupa: Zarejestrowani
Postów: 245
Pomógł: 4
Dołączył: 22.01.2005

Ostrzeżenie: (0%)
-----


Cytat
- class ONLINE - nazwa klasy z wielkich liter


Tu nie chodzi o to aby cała nazwa była z wielkich liter tylko aby pierwsza litera była duża smile.gif

Pozdrawiam
Go to the top of the page
+Quote Post
nospor
post 19.07.2006, 10:36:30
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
@nospor - możliwe że patrzyles na klasę wcześniej i nie odświeżyłeś strony jak ja zobaczyłeś po raz drugi (cache)... wyczyść sobie cache i daj f5 albo wejdź z np badzIEwia (lol) a potem na mnie krzycz bo mi się smutno zrobiło
cache czyscilem (sprawdzalem nawet), badziewia nie mam zamiaru uzywac bo to badziewie, krzyczec nie krzyczalem wiec przykro niech ci sie nie robi. Grzecznie zapytalem tylko smile.gif
Podsumowujac: teraz widze zmiany, wtedy ich nie widzialem. Z poprawek o jakich wspomnial bigZbig brakuje jeszcze wlasiwych komentarzy na wzor phpDoc. Te Twoje dziwnie sie czyta jak sie czlowiek przyzwyczail juz do standardu smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Ludvik
post 19.07.2006, 10:40:06
Post #9





Grupa: Przyjaciele php.pl
Postów: 698
Pomógł: 3
Dołączył: 28.03.2004
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Pierwsze, co mi się rzuciło w oczy, to komentarze. PHPDoc jest najlepszy rozwiązaniem, opanowanie go nie powinno stanowić większego problemu. Poza tym opisujesz typy zwracane przez php nazwami typów SQL. Bardzo chaotycznie...

Poza tym duuuużo zapytań. Zamiast sprawdzać jednym zapytaniem, a potem wywoływać UPDATE, możesz w MySQL posłużyć się REPLACE. Jest to rozszerzenie standardu, ale jeżeli trzymasz się tylko MySQL, to nie zaszkodzi z niego skorzystać.

W funkcji getIp() posłużyłeś się skrótowym zapisem wyrażenia warunkowego, który u Ciebie wcale niczego nie skraca i jest nieczytelny.

Do metod publicznych też warto wyrobić sobie dobry nawyk dopisywania modyfikatora public.

Z błędami radzisz sobie raczej tak, jak robi się to przy programowaniu strukturalnym. Wyjątki są lepszym narzędziem.

Trochę jeszcze do nauki masz, ale nie jest najgorzej.


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.06.2025 - 08:07