1. 程式人生 > >PHP經典設計模式

PHP經典設計模式

stat team 構造 HP instance AC reat key create

<?php /** * 單例模式 */ class Site { public $siteName; //靜態實例 protected static $instance=null; //禁用構造器 private function __construct($siteName) { $this->siteName=$siteName; } //獲取本例唯一實例 public static function getInstance($siteName=‘微語錄‘) { if(!self::$instance instanceof self){ self::$instance = new self($siteName); } return self::$instance; } } /** * 用工廠模式生成單一實例 */ class Factory { public static function create($iteam=‘www.top789.cn‘) { return Site::getInstance($iteam); } } /** * 對象註冊樹 * 1. 註冊set()把對象掛上樹 * 2. 獲取get()把對象取下來 * 3. 註銷_unset()把對象吃掉 */ class Register { protected static $objects=[]; public static function set($key,$object) { self::$objects[$key]=$object; } public static function get($key) { return self::$objects[$key]; } public static function _unset($key) { unset(self::$objects[$key]); } } //使用 Register::set(‘sitetemp‘,Factory::create(‘測試‘)); $obj=Register::get(‘sitetemp‘); var_dump($obj); echo $obj->siteName;

PHP經典設計模式