tofacebook.com -专业IT技术社区 PHP经典设计模式 Web程序 - tofacebook.com-专业IT技术社区
143°

PHP经典设计模式 Web程序

标签:set   ons   unset   tin   AC   构造   function   注销   工厂   

<?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经典设计模式

标签:set   ons   unset   tin   AC   构造   function   注销   工厂   

原文地址:https://www.cnblogs.com/samphp/p/8576060.html


本文由百家号/熊掌号作者上传并发布,百家号仅提供信息发布平台。文章仅代表作者个人观点,不代表百度立场。