<?php
//注册器模式
class Register
{
//保存映射到注册器上的对象
protected static $object;
//将对象映射到注册器上
public static function set($alias, $obj){
self::$object[$alias] = $obj;
}
//从注册器上获取对象
public static function get($name){
if(!isset(self::$object[$name])){
return false;
}
return self::$object[$name];
}
//从注册器上删除对象
public static function _unset($name){
unset(self::$object[$name]);
}
}
利用前面学习的工厂模式配合注册器来使用
<?php
//创建一个工厂类
class Factory
{
public static function getDb()
{
//实例化使用的类
$db = new Database();
//添加到注册器
Register::set('Db',$db);
return $db;
}
}
如何通过工厂模式加注册器模式调用
<?php
//通过注册器模式来获取Db对象
Register::get('Db');
设计模式的教程文档地址: 设计模式文档
设计模式的视频教程地址(Rango的大话PHP设计模式):大话PHP设计模式
本文为北溟有鱼QAQ原创文章,转载无需和我联系,但请注明来自北溟有鱼QAQ https://www.amdzz.cn
最新评论