PHP设计模式——适配器模式

将一个抽象被具体后的结果转换成另外一个需求所需的格式。 
在生活中也处处有适配器的出现,比如转换头,就是让两种不同的规格合适的搭配在一起。
<?php
    header("content-type:text/html;charset=utf8");
    /**
     * 适配器就是将旧的结果(满足旧的要求的结果)转换成新的(新要求的    格式)。
    */
    ///比如初始服务器端提供的是序列化后的信息。
    class Stock{
        public static function Result(){
            $today=['天气'=>'小雨','温度'=>"3℃",'日期'=>"3-24"];
            return serialize($today);
        }
    }

    //但是 java 客户端不认识序列化后的字符串,怎么办?
    class NewStock extends Stock{
        public static function getPar(){
            $today=parent::Result();
            $today=unserialize($today);
            return json_encode($today);
        }
    }

    //============客户端显示
    $res=unserialize(Stock::Result());
    echo "<p>天气:".$res["天气"]."</p>";
    echo "<p>温度:".$res["温度"]."</p>";
    echo "<p>日期:".$res["日期"]."</p>";

    echo '<hr>';
    //============ java 客户端显示(json 格式和 xml 一样是通用型格式。)
    $res=json_decode(NewStock::getPar(),true);
    echo "<p>天气:".$res["天气"]."</p>";
    echo "<p>温度:".$res["温度"]."</p>";
    echo "<p>日期:".$res["日期"]."</p>";
?>
posted @ 2018-01-08 17:18  曹士达  阅读(139)  评论(0)    收藏  举报