Proxy Pattern is so simple , for this example , you can unstand it : <?php class client{ function client(){ echo "init client object<br />"; } function get(){ echo "client function get<br />"; } function set(){ echo "client fucntion set<br />"; } } class proxy_client{ private $client; function client(){ if (!$this->client instanceof client){ $this->client = new client(); } return $this->client; } function proxy_get(){ $this->client()->get(); } function proxy_set(){ $this->client()->set(); } } $proxy = new proxy_client(); $proxy->proxy_get(); // init client object client function get $proxy->proxy_set(); // client function set