您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關怎么在php項目中使用單例模式,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
具體如下:
<?php /** * @desc 單例模式 * 目的:防止過多的new對象和clone對象,沒有對象的時候new對象并緩存,始終保持都是同一個對象實例 * 特點:php的單例是進程中的單例,而不像java屬于內存中的單例 * **/ class single{ protected static $ins = null;//聲明一個靜態變量,用來存儲類的實例 private $name;//聲明一個私有的實例變量 /** * 私有化構造方法,防止不斷的創建對象 * **/ private function __construct(){ } public static function getIns(){ if(self::$ins===null){ self::$ins = new self(); } return self::$ins; } public function setName($name){ $this->name = $name; } public function getName(){ return $this->name; } } $single1 = single::getIns(); $single2 = single::getIns(); $single1->setName('hello world!'); $single2->setName('hello php!'); echo $single1->getName();//輸出結果:hello php! echo "<br/>": echo $single2->getName();//輸出結果:hello php! /*** * 分析:輸出的結果都是hello php! * 采用了單例模式對象$single1與$single2是等價的,因此對象$single1與$single2都在設置類的變量時指向都是一致的,變量值取對象設置的最新的一個值 * **/
運行結果:
hello php!
hello php!
看完上述內容,你們對怎么在php項目中使用單例模式有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。