The single instance class in PHP is very meaningful for data exchange, saving memory. Write a simple example.
Class 1, single instance class itself:
Class UTIL {
private static $instance;
Public function Get () {
if (!self:: $instance) {
self:: $instance = new UTIL ();
}
Return self:: $instance;
}
Public $number = ten;
Public function Change ($num) {
$this->number + = $num;
}
Public Function Getnum () {return
$this->number;
}
}
Class 2, use the application class of the preceding single instance class:
Class Singlea {
private $numInst;
function __construct () {
$this->numinst = Util::get ();
}
Public function Change ($num) {
$this->numinst->change ($num);
}
Public Function Getnum () {return
$this->numinst->getnum ();
}
}
Class 3, homogeneous 2:
Class Singleb {
private $numInst;
function __construct () {
$this->numinst = Util::get ();
}
Public function Change ($num) {
$this->numinst->change ($num);
}
Public Function Getnum () {return
$this->numinst->getnum ();
}
}
Last is the place to call:
$instA = new Singlea ();
$instA->change (m);
Var_dump (' Singlea CHANGED: ');
Var_dump ($instA->getnum ());
$instB = new Singleb ();
$instB->change ( -510);
Var_dump (' Singleb CHANGED: ');
Var_dump ($instB->getnum ());
The final display result:
String ' Singlea CHANGED: ' (length=17)
int110
string ' Singleb CHANGED: ' (length=17)
int-400