php设计模式 Adapter(适配器模式)

yipeiwu_com7年前PHP代码库
复制代码 代码如下:

<?php
/**
* 适配器模式
*
* 将一个类的接口转换成客户希望的另外一个接口,使用原本不兼容的而不能在一起工作的那些类可以在一起工作
*/

// 这个是原有的类型
class OldCache
{
public function __construct()
{
echo "OldCache construct<br/>";
}

public function store($key,$value)
{
echo "OldCache store<br/>";
}

public function remove($key)
{
echo "OldCache remove<br/>";
}

public function fetch($key)
{
echo "OldCache fetch<br/>";
}
}

interface Cacheable
{
public function set($key,$value);
public function get($key);
public function del($key);
}

class OldCacheAdapter implements Cacheable
{
private $_cache = null;
public function __construct()
{
$this->_cache = new OldCache();
}

public function set($key,$value)
{
return $this->_cache->store($key,$value);
}

public function get($key)
{
return $this->_cache->fetch($key);
}

public function del($key)
{
return $this->_cache->remove($key);
}
}

$objCache = new OldCacheAdapter();
$objCache->set("test",1);
$objCache->get("test");
$objCache->del("test",1);

相关文章

php加密之discuz内容经典加密方式实例详解

本文实例讲述了php加密之discuz内容经典加密方式。分享给大家供大家参考,具体如下: 导读:有的时候,我们希望对表里的某些敏感字段进行加密,想了好长时间没有比较好的解决方案,后台在网...

PHP进程通信基础之信号量与共享内存通信

由于进程之间谁先执行并不确定,这取决于内核的进程调度算法,其中比较复杂。由此有可能多进程在相同的时间内同时访问共享内存,从而造成不可预料的错误。信号量这个名字起的令人莫名其妙,但是看其英...

PHP中Session ID的实现原理实例分析

本文实例讲述了PHP中Session ID的实现原理。分享给大家供大家参考,具体如下: Session 的工作机制是:为每个访问者创建一个唯一的 id (UID),并基于这个 UID 来...

实例说明js脚本语言和php脚本语言的区别

js脚本语言和php脚本语言的区别是什么? 一句话: js是客户端脚本, 由浏览器执行。 php是服务端脚本, 由php服务执行, php脚本跟shell脚本(bash执行)颇为类似。...

深入了解 register_globals (附register_globals=off 网站打不开的解决方法)

深入了解 register_globals dedecms 里强制限制了register_globals 由于register_globals设置控制PHP变量访问范围,如果开启会引起不...