<?php
/*
* 设计模式之
* 适配器模式
*
*/
/**
* 应用场景:解决适配问题
*/
/* 曾经使用PHP写的服务端代码 */
/* 获取今日天气 */
class Weather
{
public static function show()
{
$today = [
'tep' => '29',
'wind' => '3',
'sun' => 'sunny'
];
return serialize($today);
}
}
/* 我们来查看一下天气 */
$watherArr = unserialize(Weather::show());
echo '今日天气:<br />';
echo '温度:'.$watherArr['tep'].'<br />';
echo '风度:'.$watherArr['wind'].'<br />';
echo '天气:'.$watherArr['sun'].'<br />';
/* 后来,一批java/python来访问 */
/* 完了,格式不对呀 */
/* 怎么办!!! */
/* 于是,适配器出现了 */
class AdapterWeather extends Weather
{
public static function show()
{
$weather = parent::show();
return json_encode(unserialize($weather));
}
}
$watherArr = json_decode(AdapterWeather::show(), 1);
echo '[适配后:]今日天气:<br />';
echo '温度:'.$watherArr['tep'].'<br />';
echo '风度:'.$watherArr['wind'].'<br />';
echo '天气:'.$watherArr['sun'].'<br />';