php适配器模式简单应用示例

yipeiwu_com7年前PHP代码库

本文实例讲述了php适配器模式简单应用。分享给大家供大家参考,具体如下:

适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。

这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。举个真实的例子,读卡器是作为内存卡和笔记本之间的适配器。您将内存卡插入读卡器,再将读卡器插入笔记本,这样就可以通过笔记本来读取内存卡。

示例:

//假设使用php开发了一个天气接口
class Weather{
  public static function show(){
    $info = array(
      'temperature' => '25°C',
      'wind' => '西北风3~4级',
      'weather' => '晴',
      'PM2.5' => 60
    );
    return serialize($info);
  }
}
//PHP客户端调用
$msg = Weather::show();
$msg_arr = unserialize($msg);
echo $msg_arr['weather'];
//这时,如果java、python也要来调用天气接口,
//但是不识别串行化后的字符串,但是又不能修改旧接口和旧php的调用
//这时候可以用一个新的类继承,也就是适配器模式,来修改返回的数据格式为json
class WeatherAdapter extends Weather{
  public static function show(){
    $info = parent::show();
    $info_arr = unserialize($info);
    return json_encode($info_arr);
  }
} 
//java、python就可以使用返回的json进行使用
$msg = WeatherAdapter::show();

运行结果:

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

php为字符串前后添加指定数量字符的方法

本文实例讲述了php为字符串前后添加指定数量字符的方法。分享给大家供大家参考。具体分析如下: 这段php代码定义了两个函数 str_prefix和str_suffix,分别用来给字符串前...

php通过排列组合实现1到9数字相加都等于20的方法

本文实例讲述了php通过排列组合实现1到9数字相加都等于20的方法。分享给大家供大家参考。具体实现方法如下: <?php set_time_limit(0); /* 函...

9个PHP开发常用功能函数小结

1. 函数的任意数目的参数   你可能知道PHP允许你定义一个默认参数的函数。但你可能并不知道PHP还允许你定义一个完全任意的参数的函数   下面是一个示例向你展示了默认参数的函数: 复...

PHP里面把16进制的图片数据显示在html的img标签上(实现方法)

客户公司的SQLServer2008的一个生产数据库才1年多就高达18G之巨,原来是系统里面的图片直接以16进制字符串的形式存储在数据库的。要用PHP显示在html页面上,我还耗费了不上...

php字符串替换函数substr_replace()用法实例

本文实例讲述了php字符串替换函数substr_replace()用法。分享给大家供大家参考。具体分析如下: substr_replace用于在指定字符串中替换指定位置的子字符串 &...