本篇文章主要給大家用實例程式碼來詳細介紹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中文網其他相關文章!