欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2024-01-12 08:36:10
本文实例讲述了php适配器模式简单应用。分享给大家供大家参考,具体如下: 适配器模式(adapter pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模...

本文实例讲述了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();

运行结果: