>백엔드 개발 >PHP 튜토리얼 >PHP 디자인 패턴의 프록시 패턴에 대한 자세한 설명

PHP 디자인 패턴의 프록시 패턴에 대한 자세한 설명

韦小宝
韦小宝원래의
2017-11-14 14:10:131736검색

소프트웨어 개발에는 웹사이트 구매와 유사한 기능을 제공할 수 있는 디자인 패턴도 있습니다. 어떤 이유로 인해 클라이언트는 객체 에 직접 액세스하는 것을 원하지 않거나 액세스할 수 없습니다. 이때 이 솔루션에 해당하는 디자인 패턴 이라고 합니다. 프록시 패턴

은 객체에 대한 프록시 또는 자리 표시자를 제공하고, 프록시 객체는 원본 객체에 대한 액세스를 제어합니다

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("醒着做梦");

프록시 패턴은 일반적으로 사용되는 구조 설계 패턴 중 하나입니다. 객체에 대한 간접 접근을 제어할 수 있는 디자인 패턴은 경험이 있거나 기초가 탄탄한 사람이 보기에 적합합니다.

16php 프록시 모드

스타크래프트 PHP 프록시 모드

위 내용은 PHP 디자인 패턴의 프록시 패턴에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.