Home  >  Article  >  Backend Development  >  Sample code sharing of PHP proxy mode

Sample code sharing of PHP proxy mode

黄舟
黄舟Original
2017-03-17 09:50:151397browse

PHPProxy modeSample code sharing

<?php
// 代理模式

function echoLine($msg) {
	echo $msg, &#39;<br/>&#39;;
}

interface Sourceable
{
	function method();
}

// 被代理对象
class Source implements Sourceable
{
	public function method() {
		echoLine(&#39;call method&#39;);
	}
}

// 代理对象
class Proxy implements Sourceable
{
	private $sourceable = null;
	
	// 代理关系在编译时确定
	public function construct() {
		$this->sourceable = new Source();
	}
	
	// 动态设置代理对象
	public function setTarget(Sourceable $s) {
		$this->sourceable = $s;
	}
	
	public function method() {
		echoLine(&#39;before proxy!&#39;);
		$this->sourceable->method();
		echoLine(&#39;after proxy!&#39;);
	}
}

// test code
$proxy = new Proxy();
$proxy->method();

$s = new Source();
$proxy->setTarget($s);
$proxy->method();

The above is the detailed content of Sample code sharing of PHP proxy mode. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn