php 单例模式原理,PHP单例模式demo详解
本文主要和大家分享PHP設計模式之單例模式demo,希望能幫助大家更好的學習PHP單例模式。<?php /**
* 設計模式之單例模式
* $_instance必須聲明為靜態的私有變量
* 構造函數和析構函數必須聲明為私有,防止外部程序new
* 類從而失去單例模式的意義
* getInstance()方法必須設置為公有的,必須調用此方法
* 以返回實例的一個引用
* ::操作符只能訪問靜態變量和靜態函數
* new對象都會消耗內存
* 使用場景:最常用的地方是數據庫連接。
* 使用單例模式生成一個對象后,
* 該對象可以被其它眾多對象所使用。
*/class Example{//保存例實例在此屬性中
private static $_instance;//構造函數聲明為private,防止直接創建對象
public function __construct()
{
//初始的方法
}//單例方法
public static function getInstance()
{
if(!isset(self::$_instance))
{ $c=__CLASS__; self::$_instance=new $c;
} return self::$_instance;
} function test()
{
echo("test");
}
}// 這個寫法會出錯,因為構造方法被聲明為private//$test = new Example;// 下面將得到Example類的單例對象$test = Example::getInstance();$test->test();?><?php /**
* 設計模式之單例模式
* $_instance必須聲明為靜態的私有變量
* 構造函數和析構函數必須聲明為私有,防止外部程序new
* 類從而失去單例模式的意義
* getInstance()方法必須設置為公有的,必須調用此方法
* 以返回實例的一個引用
* ::操作符只能訪問靜態變量和靜態函數
* new對象都會消耗內存
* 使用場景:最常用的地方是數據庫連接。
* 使用單例模式生成一個對象后,
* 該對象可以被其它眾多對象所使用。
*/class Example{//保存例實例在此屬性中
private static $_instance;//構造函數聲明為private,防止直接創建對象
public function __construct()
{
//初始的方法
}//單例方法
public static function getInstance()
{
if(!isset(self::$_instance))
{ $c=__CLASS__; self::$_instance=new $c;
} return self::$_instance;
} function test()
{
echo("test");
}
}// 這個寫法會出錯,因為構造方法被聲明為private//$test = new Example;// 下面將得到Example類的單例對象$test = Example::getInstance();$test->test();?>
相關推薦:
總結
以上是生活随笔為你收集整理的php 单例模式原理,PHP单例模式demo详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php下载apk文件源码下载,php实现
- 下一篇: php phpanalysis2.0,使