zastanawiam się czy rozumiem wzorzec Singleton. Mamy taki kod:
Kod
class test {
public $zmienna;
public function __construct() {}
public static function singleton()
{
static $instance;
if(!isset($instance)) {
$instance = new test;
}
return $instance;
}
}
$single1 = test::singleton();
$single1->zmienna = 100;
echo $single1->zmienna;
$single2 = test::singleton();
echo $single2->zmienna;
$single3 = test::singleton();
echo $single3->zmienna;
public $zmienna;
public function __construct() {}
public static function singleton()
{
static $instance;
if(!isset($instance)) {
$instance = new test;
}
return $instance;
}
}
$single1 = test::singleton();
$single1->zmienna = 100;
echo $single1->zmienna;
$single2 = test::singleton();
echo $single2->zmienna;
$single3 = test::singleton();
echo $single3->zmienna;
Ten kod wyświetli na ekranie trzy raz 100.
W tym wzorcu chodzi o to aby tworzyć tylko jeden obiekt danej klasy i następnie mogę się odwoływać do niego przez funkcję statyczną kilku krotnie i otrzymam tą samą wartość?