php适配器模式


场景:向多个端提供接口,通过新类继承方式重新反回对应数据,不改变原来接口;

//假设使用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