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

單實(shí)例模式練習(xí)

原創(chuàng) 2019-03-22 16:02:37 266
摘要:<?php //單例模式:一個類僅允許被實(shí)例化一次 class Wife { } $wife1 = new Wife; $wife2 = new Wife; //查看$wife1和$wife2是否和Wife相等 echo ($wife1 instanceof Wife)?'是&#
<?php
//單例模式:一個類僅允許被實(shí)例化一次
class Wife
{

}

$wife1 = new Wife;
$wife2 = new Wife;

//查看$wife1和$wife2是否和Wife相等
echo ($wife1 instanceof Wife)?'是':'不是';
echo '<br>';
echo ($wife2 instanceof Wife)?'是':'不是';
echo '<br>';
//查看$wife1和$wife2是否相等
echo ($wife1 === $wife2)?'相等':'不相等';
echo '<br>';
//打印輸出
var_dump($wife1);
echo '<br>';
var_dump($wife2);
// object(Wife)#1 (0) { } 
// object(Wife)#2 (0) { }
//他們不是同一個,id不一樣
echo '<hr>';

//實(shí)例化通過兩種方式:1.new來創(chuàng)建類實(shí)例;2.clone來實(shí)例
//數(shù)據(jù)庫連接對象pdo等只能被實(shí)例化一次
//Hubby僅被實(shí)例化一次,在類中先私有化,再進(jìn)行實(shí)例化
class Hubby
{
	private function __construct(){}//構(gòu)造器私有化
	private function __clone(){}   //克隆私有化

	//創(chuàng)建類的內(nèi)部靜態(tài)屬性,保存類的唯一實(shí)例
	protected static $instance =null;

	//創(chuàng)建一個外部接口  創(chuàng)建并返回當(dāng)前類的唯一實(shí)例
	public static function getInstance()
	{
		if(is_null(static::$instance)){
			//進(jìn)行實(shí)例化,靜態(tài)延遲綁定
			static::$instance = new static();
		}
		//動態(tài)調(diào)用返回值
		return static::$instance;
	}

}

//外部實(shí)例化Hubby類
$hubby1 = Hubby::getInstance();
$hubby2 = Hubby::getInstance();
echo ($hubby1 instanceof Hubby)?'是':'不是';
echo '<br>';
echo ($hubby2 instanceof Hubby)?'是':'不是';
echo '<br>';
//查看他們是同一個實(shí)例對象,結(jié)果id也是一樣的
echo ($hubby1 === $hubby2)?'完全相等':'不相等';
echo '<br>';
var_dump($hubby1);
echo '<br>';
var_dump($hubby2);
echo '<hr>';


批改老師:查無此人批改時間:2019-03-22 17:28:40
老師總結(jié):完成的不錯。編程有很多種功能,寫法。這種設(shè)計模式,可以快速解決問題。繼續(xù)加油

發(fā)佈手記

熱門詞條