![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 565 Pomógł: 15 Dołączył: 11.10.2010 Ostrzeżenie: (20%) ![]() ![]() |
Witajcie
Napisałem sobie klasę do sprawdzania statusu serwera (włączony/wyłączony). Możecie go ocenić? (pod względem czy jest napisany poprawnie).
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 109 Pomógł: 25 Dołączył: 10.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
1. Daj @ przed fsockopen bo jak sie nie uda polączenie to przewie Ci skypt
2. Zadeklaruj zmienne ip, port, msg w klasie przed ich użyciem. 3. Zamiast Get bardziej by pasowała nazwa Set 4. Co to za zwyczaj nazywania metod z wielkich liter? 5. Co to za instrukcja global $msg bo nie rozumiem inicjatywy |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 565 Pomógł: 15 Dołączył: 11.10.2010 Ostrzeżenie: (20%) ![]() ![]() |
1. Daj @ przed fsockopen bo jak sie nie uda polączenie to przewie Ci skypt 2. Zadeklaruj zmienne ip, port, msg w klasie przed ich użyciem. 3. Zamiast Get bardziej by pasowała nazwa Set 4. Co to za zwyczaj nazywania metod z wielkich liter? 5. Co to za instrukcja global $msg bo nie rozumiem inicjatywy 1. Zrobione 2. Czemu? W PHP na wiki jest napisane "Zmienne w PHP nie wymagają deklaracji" 3. Zrobione 4. A nie wiem, z tutoriali pewnie ![]() 5. Gdy nie dam global $msg to będę miał Notice: Undefined variable: msg in bla bla |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 109 Pomógł: 25 Dołączył: 10.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
2. To że nie wymagają nie znaczy, że nie warto tego robić bo później klasa się rozrośnie jak to zwykle bywa i będziesz szukał w której metodzie została zadeklarowana taka zmienna i co robi a jak zadeklarujesz to wszystkie będziesz miał w jednym miejscu
5. Ale po co Ci ona skoro i tak ją nadpisujesz później: if($connection) { $this->msg = "Server is UP"; } else { $this->msg = "Server is DOWN"; } Wywal: global $msg; i $this->msg = $msg; Na początkowym etapie nauki radzę na siłę unikać zmiennych globalnych. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 565 Pomógł: 15 Dołączył: 11.10.2010 Ostrzeżenie: (20%) ![]() ![]() |
2. To że nie wymagają nie znaczy, że nie warto tego robić bo później klasa się rozrośnie jak to zwykle bywa i będziesz szukał w której metodzie została zadeklarowana taka zmienna i co robi a jak zadeklarujesz to wszystkie będziesz miał w jednym miejscu 5. Ale po co Ci ona skoro i tak ją nadpisujesz później: if($connection) { $this->msg = "Server is UP"; } else { $this->msg = "Server is DOWN"; } Wywal: global $msg; i $this->msg = $msg; Na początkowym etapie nauki radzę na siłę unikać zmiennych globalnych. 2. Zrobione, przemyślałem sobie i doszedłem do wniosku, że masz rację. Dzięki ![]() 5. Usunąłem global + $this->msg = $msg i działa pięknie, dzięki jeszcze raz! ![]() Ogólnie rzecz biorąc, napisałem sobie drugi, taki sam skrypt. Według was - który lepszy? Robiłem benchmark i różnica pomiędzy skryptami wynosi 0,000061. Wersja 1:
Wersja 2:
Jakie macie uwagi? Ten post edytował Dominator 23.07.2013, 23:32:38 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 587 Pomógł: 131 Dołączył: 8.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
1. Nazwa klasy jest zbyt ogólna (czy używając tej klasy zobaczę obciążenie procesora na serwerze?) 2. Metoda Set() (ale co ..), jak już to użyj setterów setIP setPort 3. Connect() owszem można i tak ale niech Connect() wykonuje tylko operacje łączenia 4. Własność msg ma się nijak + - i, wyświetlaj (plus,OK,COOL,NICE) lub (minus,FAIL,BAD,WRONG) w zależności do statusu tu jest to wręcz zakazane
-------------------- Despite the tons of examples and docs, mod_rewrite is voodoo. Damned cool voodoo, but still voodoo. --Brian Moore
I never go looking for a sucker. I look for a Champion and make a sucker of of him. --Amarillo Slim Home-made : js-gui-classes | Accordion | Tabs | Carousel / php-sms-classes | Obsługa bramki SMS MultiInfo | Obsługa bramki SMS Mobiltek |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 17.06.2025 - 14:25 |