News Feed
Sections




News Archive
Looking for more information on how to do PHP the right way? Check out PHP: The Right Way

Matthew Weier O'Phinney's Blog:
Proxies in PHP
July 06, 2011 @ 08:10:08

In a new blog post Matthew Weier O'Phinney has taken a look at proxy objects (the Proxy design pattern) and how it differs from some of the other popular patterns.

Of the other patterns mentioned, the one closest to the Proxy is the Decorator. In the case of a Decorator, the focus is on adding functionality to an existing object -- for instance, adding methods, processing input before delegating to the target object, or filtering the return of a method from a target object.

Proxies stand in for objects and have several benefits for your application that may or may not need all of the overhead a full object could cause. Matthew focuses on one benefit in particular - consuming and controlling access to another object. He sets up a problem of wanting to use properties/methods on objects that aren't exposed directly (like a protected method). His solution is a proxy layer class on top of the original object. He includes a few "gotchas" to look out for when using this technique including overwriting all necessary methods and copying over all of the needed properties.

0 comments voice your opinion now!
proxy designpattern object access method property


blog comments powered by Disqus

Similar Posts

David Goodwin's Blog: Storing PHP objects in a database (please no!)

PHP-Tip-a-Day: PHP Tutorial: King Floyd and the Seventeen Princes - A Tale of the Observer Pattern

Brian Swan's Blog: Understanding Windows Azure AppFabric Access Control via PHP

Jeff Moore's Blog: Let Your Properties be Properties

Brian Nelson's Blog: Writing A Reverse Proxy in PHP5


Community Events





Don't see your event here?
Let us know!


introduction interview configure podcast threedevsandamaybe laravel library code release developer list install symfony series language bugfix wordpress community api application

All content copyright, 2014 PHPDeveloper.org :: info@phpdeveloper.org - Powered by the Solar PHP Framework