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

yipeiwu_com6年前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正则过滤html标签、空格、换行符的代码(附说明)

复制代码 代码如下: $str=preg_replace("/\s+/", " ", $str); //过滤多余回车 $str=preg_replace("/<[ ]+/si","...

PHP file_get_contents设置超时处理方法

file_get_contents的超时处理 话说,从PHP5开始,file_get_content已经支持context了(手册上写着:5.0.0 Added the context...

php 获取一个月第一天与最后一天的代码

复制代码 代码如下:function getthemonth($date) { $firstday = date('Y-m-01', strtotime($date)); $lastda...

支持数组的ADDSLASHES的php函数

复制代码 代码如下://SQL ADDSLASHES function saddslashes($string) { if(is_array($string)) { foreach($s...

phpmyadmin 访问被拒绝的真实原因

刚下了下最新版的phpmyadmin 装上后输入用户名root然后点登录 (因为我在本地,所以root没有密码) 结果老是报访问被拒绝的错误 看了下权限的设置没什么问题呀, 网上也没找到...