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

这篇文章主要介绍了php适配器模式简单应用,结合实例形式分析php适配器模式原理及使用适配器模式创建的天气预报查询接口功能相关操作技巧,需要的朋友可以参考下。

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

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

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

示例:

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

运行结果: