ホームページ  >  記事  >  バックエンド開発  >  PHPデザインパターンのプロキシパターンを詳しく解説

PHPデザインパターンのプロキシパターンを詳しく解説

韦小宝
韦小宝オリジナル
2017-11-14 14:10:131676ブラウズ

ソフトウェア開発では、Web サイトの購入に同様の機能を提供できる デザインパターン もあります。何らかの理由で、クライアントは オブジェクト に直接アクセスしたくない、またはアクセスできません。現時点では、「プロキシ」と呼ばれるサードパーティを介して間接的なアクセスを実現できます。このソリューションに対応する デザイン パターン と呼ばれます。プロキシ パターン

は、オブジェクトのプロキシまたはプレースホルダーを提供し、プロキシ オブジェクトは元のオブジェクトへのアクセスを制御します

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);
    }
}

//许多年后你想买张 醒着做梦 找不到CD商店了,和做梦似的,不得不找了个代理去香港帮你代购。

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

プロキシ パターンは、一般的に使用される構造設計パターンの 1 つであり、ソリューションを提供します。オブジェクトへの間接アクセス用で、オブジェクトへのアクセスを制御できるデザイン パターンは、経験がある人、または基礎がしっかりしている人に適しています

関連する推奨事項:

PHP プロキシ パターンの例 コード共有

16phpプロキシモード

StarCraftphpプロキシモード

以上がPHPデザインパターンのプロキシパターンを詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。