适配器模式
概念 将某个类的接口转换成与另一个接口兼容。适配器通过将原始接口进行转换,给用户提供一个兼容接口,使得原来因为接口不同而无法一起使用的类可以得到兼容。 应用场景 老代码接口不适应新的接口需求,或者代码很多很乱不便于继续修改,或者使用第三方类库。 <?php interface Weather { public function show(); } class PhpWeather implements Weather { public function show() { $weatherInfo = ['weather' => '雨', 'tep' => 6, 'wind' => 3]; return serialize($weatherInfo); } } //兼容模式 使得java能够直接使用 interface WeatherA { public function getWeather(); } class JavaWeather implements WeatherA { protected $weather; public function __construct(Weather $weather) { $this->weather = $weather; } public function getWeather() { $info = unserialize($this->weather->show()); return json_encode($info); } } $weather = new PhpWeather(); // $info = unserialize($weather); // var_dump($info); $java_weather = new JavaWeather($weather); $info = json_decode($java_weather->getWeather()); var_dump($info);