《PHP學習:PHP里的單例類寫法實例》要點:
本文介紹了PHP學習:PHP里的單例類寫法實例,希望對您有用。如果有疑問,可以聯系我們。
PHP里的單實例類在進行數據交換,節省內存上還是很有意義的.寫個簡單例子.
類1,單實例類本身:PHP實例
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; } }
類2,使用前述單實例類的應用類:PHP實例
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(); } }
類3,同類2:PHP實例
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(); } }
最后是調用的地方:PHP實例
$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());
最后的顯示結果:PHP實例
string'SINGLEA CHANGED: ' (length=17) int110 string'SINGLEB CHANGED: ' (length=17) int-400
歡迎參與《PHP學習:PHP里的單例類寫法實例》討論,分享您的想法,維易PHP學院為您提供專業教程。