This article mainly introduces examples of Singleton class writing in PHP. This article provides code examples. If you need them, you can refer to the singleton class in PHP for data exchange, it makes sense to save 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 = 10; public function change($num) { $this->number += $num; } public function getNum() { return $this->number; }}
Class 2: Application class that uses the aforementioned 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, similar 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(); }}
Finally, it is called:
$instA = new SINGLEA();$instA->change(100);var_dump('SINGLEA CHANGED: ');var_dump($instA->getNum());$instB = new SINGLEB();$instB->change(-510);var_dump('SINGLEB CHANGED: ');var_dump($instB->getNum());
The final result is as follows:
string'SINGLEA CHANGED: ' (length=17)int110string'SINGLEB CHANGED: ' (length=17)int-400