首頁  >  文章  >  每日程式設計  >  怎麼理解PHP代理模式

怎麼理解PHP代理模式

藏色散人
藏色散人原創
2018-11-24 16:57:496497瀏覽

本篇文章主要給大家用實例程式碼來詳細介紹PHP代理模式

在前面的文章中,我們已經跟大家簡單介紹了PHP代理模式的基礎概念,相信大家對代理模式也有了一點了解。

本節內容就結合具體的程式碼範例,介紹給大家PHP代理模式

程式碼如下:

<?php
/*
 * 代理模式
 */

//代理抽象接口
interface shop
{
    public function buy($title);
}

//原来的CD商店,被代理对象
class CDShop implements shop
{
    public function buy($title)
    {
        echo "购买成功,这是你的《{$title}》唱片" . PHP_EOL;
    }
}

//CD代理
class Proxy implements shop
{
    public function buy($title)
    {
        $this->go();
        $CDshop = new CDshop;
        $CDshop->buy($title);
    }

        public function go()
    {
        echo "跑去香港代购" . PHP_EOL;
    }
}

class client
{
    public static function shoping($goods)
    {
        $proxy = new Proxy;
        $proxy->buy($goods);
    }
}

client::shoping("醒着做梦");

首先代理模式都需要繼承一個共用的接口,這裡只有CDShop(CD商店)和Proxy (CD代理)這兩個類來繼承一個共用介面shop,並且其中都有一個共同的方法buy。

那麼上述程式碼我們可以這樣理解,當我們想要購買一張「醒著做夢」的唱片,但是由於本地沒有資源,只能選擇香港代理幫忙代購。這裡我們就可以透過客戶端來實例化代理Proxy,再呼叫代理中的購買方法buy。

然後代理可以用go方法表示“跑去香港代購”,再new實例化CDshop,再透過其中buy方法來“購買唱片”。

最後我們可以檢查上述程式碼的回傳值:

怎麼理解PHP代理模式

#流程示意圖:

怎麼理解PHP代理模式

如圖,這就是代理模式的使用範例,只要掌握它的實現流程和原理,也就很容易理解代理模式的實現思想了,大家也可以在本地做多練習以便加固理解。

這篇文章就是關於PHP代理模式的詳細介紹,也很簡單易懂的,希望對需要的朋友有一定的幫助!

以上是怎麼理解PHP代理模式的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn