Cytat(widmo_91 @ 23.07.2013, 16:41:42 )

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:
Class Status
{
public function Set($ip, $port = 80)
{
$this->ip = $ip;
$this->port = $port;
$connection = @fsockopen($this->ip, $this->port, $errorNo, $errorStr, 3
); if($connection)
{
$this->msg = "Server is UP";
}
else
{
$this->msg = "Server is DOWN";
}
}
public function Display()
{
}
public static function getmicrotime
() {
}
}
Wersja 2:
Class Status
{
public function __construct($ip, $port = 80)
{
$this->Set($ip, $port);
$this->Connect();
}
public function Set($ip, $port)
{
$this->ip = $ip;
$this->port = $port;
}
public function Connect()
{
$con = @fsockopen($this->ip, $this->port, $errorNo, $errorStr, 3
); if($con)
{
$this->msg = "+";
}
else
{
$this->msg = "-";
}
}
public function Display()
{
}
public static function getmicrotime
() {
}
}
Jakie macie uwagi?