The single-instance class in PHP is useful for exchanging data and saving memory. Write a simple example.
Class 1, the single-instance class itself:
Class UTIL { private static $instance; Public function Get () { if (!self:: $instance) {self :: $instance = new UTIL (); } Return self:: $instance; } Public = ten; Public function Change ($num) { $this->number + = $num; } Public Function Getnum () { return $this->number; }}
Class 2, use the application class for the single-instance class described above:
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 ();} }
The last place to call is:
$instA = new Singlea (), $instA->change (+), Var_dump (' Singlea CHANGED: '); Var_dump ($instA->getnum ()); $instB = New Singleb (); $instB->change ( -510); Var_dump (' Singleb CHANGED: '); Var_dump ($instB->getnum ());
The result of the final display:
String ' Singlea CHANGED: ' (length=17) int110string ' Singleb CHANGED: ' (length=17) int-400