單例模式PHP實現代碼
<?php class SqlHelper { private static $_instance; public $_dbname; private function construct() { } //getInstance()方法必須設置為公有的,必須調用此方法 public static function getInstance() { //對象方法不能訪問普通的對象屬性,所以$_instance需要設為靜態的 if (self::$_instance === null) { // self::$_instance=new SqlHelper();//方式一
self::$_instance = new self(); //方式二
} return self::$_instance; } public function getDbName() { echo $this->_dbname; } public function setDbName($dbname) { $this->_dbname = $dbname; } } // $sqlHelper=new SqlHelper();//打印:Fatal error: Call to private SqlHelper::construct() from invalid context $A = SqlHelper::getInstance(); $A->setDbName('數據庫名'); $A->getDbName(); // unset($A);//移除引用 $B = SqlHelper::getInstance(); $B->getDbName(); $C = SqlHelper::getInstance(); $C->getDbName();?></pre>
本文由用戶 jspet 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!