亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

搜索

PHP里的單例類寫法實(shí)例

原創(chuàng) 2017-01-21 15:26:56 268
摘要:PHP里的單實(shí)例類在進(jìn)行數(shù)據(jù)交換,節(jié)省內(nèi)存上還是很有意義的。寫個(gè)簡(jiǎn)單例子。類1,單實(shí)例類本身:class UTIL {   private static $instance;   public function get() {     if 

PHP里的單實(shí)例類在進(jìn)行數(shù)據(jù)交換,節(jié)省內(nèi)存上還是很有意義的。寫個(gè)簡(jiǎn)單例子。
類1,單實(shí)例類本身:

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,使用前述單實(shí)例類的應(yīng)用類:

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:

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();
  }
}

最后是調(diào)用的地方:

$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());

最后的顯示結(jié)果:

string'SINGLEA CHANGED: ' (length=17)
int110
string'SINGLEB CHANGED: ' (length=17)
int-400

更多關(guān)于PHP里的單例類寫法實(shí)例請(qǐng)關(guān)注PHP中文網(wǎng)(ipnx.cn)其他文章! 

發(fā)布手記

熱門詞條