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

DevShed: The Basics of Serializing Objects in PHP

Zend Developer Zone: Observer pattern in PHP

Jani Hartikainen's Blog: Decoupling models from the database: Data Access Object pattern in PHP

Gonzalo Ayuso: The reason why singleton is a "problem" with PHPUnit

DevShed: An Introduction to Building Proxy Classes with PHP 5


Community Events





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


language opinion laravel threedevsandamaybe unittest series developer refactor symfony2 release api list interview podcast install testing introduction community code framework

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