PHP经典设计模式

<?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;

 

转载于:https://www.cnblogs.com/samphp/p/8576060.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值