The proxy mode provides a proxy for other objects to control access to the object.
irequest.php
<? Phpnamespace proxy; Interface irequest{ function sendrequest ();}
request.php
<? Phpnamespace proxy; class request{ function sendrequest () { echo "Send Request"; }}
requestproxy.php
<?Phpnamespace proxy;classrequestproxy{Private $_request; function__construct () {$this->_request =NewRequest (); } functionSendRequest () {$this-beforerequest (); Echo"<br>"; $this->_request->SendRequest (); Echo"<br>"; $this-afterrequest (); } protected functionbeforerequest () {Echo"Before"; } protected functionafterrequest () {Echo"After"; }}
client.php
<? Phpnamespace proxy; require ‘.. /autoload.php '; $request New requestproxy (); $request->sendrequest ();
autoload.php
<? phpspl_autoload_register (function ($class _name) { $file _dir str_replace(' \ \ ', '/',$class _name) ; require_once $file _dir . '. php ';});
client.php the file that originated the request for the client, autoload.php the file for the auto-load class
PHP proxy mode