日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php设计模式及案例分析,一个案例来认识PHP经典设计模式 | 张先生博客

發布時間:2025/3/8 php 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php设计模式及案例分析,一个案例来认识PHP经典设计模式 | 张先生博客 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

/**

* 單例模式

*/

class Site

{

//屬性

public $siteName;

//本類的靜態實例

public static $instance = null;

//禁用掉構造器

private function __construct($siteName)

{

$this->siteName = $siteName;

}

//獲取本類唯一實例

public static function getInstance($siteNme = '默認siteName值')

{

//判斷實例是不是自己的一個實例

if(!self::$instance instanceof self){

self::$instance = new self($siteNme);

}

return self::$instance;

}

}

/**

* 工廠模式

* 生成本類的單一實例

* Class Factory

*/

class Factory

{

public static function create($patternName)

{

return Site::getInstance($patternName);

}

}

/**

* 對象注冊樹

* 注冊:set(); 把對象掛到書上

* 獲取:get(); 把對象從樹上獲取下來

* 注銷:_unset(); 把對象銷毀

* Class Register

*/

class Register

{

//創建對象數組

protected static $object = [];

//傳參 $alias 別名 $object 真正的對象

//生成對象并掛到樹上

public static function set($alias,$object)

{

self::$object[$alias] = $object;

}

// 把對象從樹上獲取下來

public static function get($alias)

{

return self::$object[$alias];

}

// 把對象銷毀

public static function _unset($alias)

{

unset(self::$object[$alias]);

}

}

Register::set('zhangObj',Factory::create('實例個雞兒1'));

$obj = Register::get('zhangObj');

var_dump($obj);

運行結果:

object(Site)[1]

public 'siteName' => string '實例個雞兒1' (length=16)

總結

以上是生活随笔為你收集整理的php设计模式及案例分析,一个案例来认识PHP经典设计模式 | 张先生博客的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。