欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

PHP中的代理模式是什么

本篇內(nèi)容介紹了“PHP中的代理模式是什么”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

成都創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站設(shè)計制作、成都做網(wǎng)站、晉中網(wǎng)絡(luò)推廣、微信小程序、晉中網(wǎng)絡(luò)營銷、晉中企業(yè)策劃、晉中品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供晉中建站搭建服務(wù),24小時服務(wù)熱線:18980820575,官方網(wǎng)址:chinadenli.net

代理人這個職業(yè)在中國有另外一個稱呼,房產(chǎn)經(jīng)濟人、保險經(jīng)濟人,其實這個職業(yè)在國外都是叫做房產(chǎn)代理或者保險代理。顧名思義,就是由他們來幫我們處理這些對我們大部分人來說都比較生疏的專業(yè)領(lǐng)域的工作。代理模式也是一樣的道理,同時,在這篇文章中還會簡單的介紹正向代理和反向代理是怎么回事。

Gof類圖及解釋

GoF定義:為其它對象提供一種代理以控制對這個對象的訪問

GoF類圖

PHP中的代理模式是什么

代碼實現(xiàn)

interface Subject
{
    public function Request();
}

class RealSubject implements Subject
{
    function Request()
    {
        echo "真實的操作", PHP_EOL;
    }
}

class Proxy implements Subject
{
    private $realSubject;

    public function __construct()
    {
        $this->realSubject = new RealSubject();
    }

    public function Request()
    {
        echo "代理的操作", PHP_EOL;
        $this->realSubject->Request();
    }
}

$proxy = new Proxy();
$proxy->Request();
  • 代理模式的實現(xiàn)其實非常簡單,或許你在不經(jīng)意間經(jīng)常會用到

  • 請注意代理模式與裝飾器、適配器的區(qū)別,另外,模板方法模式也和它很像

  • 裝飾器,一般是對對象進行裝飾,其中的方法行為會有增加,以修飾對象為主

  • 適配器,一般會改變方法行為,目的是保持接口的統(tǒng)一但得到不同的實現(xiàn)

  • 模板方法模式,我們后面會講,這里只要知道,模板方法是在抽象類中去組合調(diào)用子類的方法

  • 代理模式有幾種形式:遠程代理(例如:第三方接口SDK)、虛代理(例如:異步加載圖片)、保護代理&智能指引(例如:權(quán)限保護),而我們代碼實現(xiàn)的最普通的代理,其實就是讓代理類來代替真實類的操作

**

完整代碼:https://github.com/zhangyue0503/designpatterns-php/blob/master/12.proxy/source/proxy.php

實例

短信功能不能停,這回用簡單的代理模式來增加一些前后的提示吧!

短信發(fā)送類圖

PHP中的代理模式是什么

完整源碼:https://github.com/zhangyue0503/designpatterns-php/blob/master/12.proxy/source/proxy-msg.php

<?php

interface SendMessage
{
    public function Send();
}

class RealSendMessage implements SendMessage
{
    public function Send()
    {
        echo '短信發(fā)送中...', PHP_EOL;
    }
}

class ProxySendMessage implements SendMessage
{
    private $realSendMessage;

    public function __construct($realSendMessage)
    {
        $this->realSendMessage = $realSendMessage;
    }

    public function Send()
    {
        echo '短信開始發(fā)送', PHP_EOL;
        $this->realSendMessage->Send();
        echo '短信結(jié)束發(fā)送', PHP_EOL;
    }
}

$sendMessage = new ProxySendMessage(new RealSendMessage());
$sendMessage->Send();

說明

  • 例子非常簡單,還是普通代理的實現(xiàn),這里我們講下正向代理和反向代理

  • 通常我們所說的科學(xué)上網(wǎng)(fanqiang),就是正向代理,由我們使用軟件或者自己配置代理網(wǎng)關(guān)上網(wǎng),實際就是我們把請求發(fā)送到指定的網(wǎng)關(guān),再由這個網(wǎng)關(guān)代替我們?nèi)ピL問其他網(wǎng)站,這種由我們指定選擇的代理就是正向代理

  • PHPer們大多還是比較清楚反向代理的,畢竟現(xiàn)在Nginx已經(jīng)代替Apache成為了PHP標配了。當我們訪問一個網(wǎng)站的時候,某些路徑或者域名并不一定是在這臺服務(wù)器上,他們在服務(wù)器上直接代理到了其他的服務(wù)器甚至是別人家的站點。對于這個我們這些瀏覽網(wǎng)站的人是不知道的,這種我們不知道就被莫名其妙代理了的情況就是反向代理,一般在服務(wù)后臺運維中是必備知識!

“PHP中的代理模式是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

標題名稱:PHP中的代理模式是什么
本文地址:http://chinadenli.net/article42/jighec.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)品牌網(wǎng)站制作云服務(wù)器域名注冊企業(yè)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)