News Feed
Sections




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

Brandon Savage's Blog:
Keeping Superglobals Out Of Classes
December 08, 2008 @ 07:57:24

In a new post to his blog, Brandon Savage makes a suggestion that could help in maintenance and debugging down the road - keep those superglobals out of your classes.

Let's ignore the security implications of the above code for just a moment, and focus on just the use of the superglobal. By using the $_POST superglobal array, we're effectively doing two things [in the example code]: relying on the field names and limiting code reuse.

He shows how to refactor the example into something a bit more reusable by changing the method call to pass in the given username and password instead of looking to the global for it. He does note, however, that there are some more correct uses for those superglobals:

There are some legitimate uses of superglobals in classes. One example is the use of the $_SESSION superglobal, which is often used for things like a user object. But I urge you to do so sparingly, when appropriate, rather than relying heavily on superglobals which are subject to change and may not give you the data you expect.
0 comments voice your opinion now!
class object oriented superglobal refactor reuse


blog comments powered by Disqus

Similar Posts

Wojciech Sznapka's Blog: Loosening dependencies with closures in PHP

Jim Plush's Blog: Why Your PHP app NEEDS a Circuit Breaker

JSLabs Blog: How to create Microsoft Office Documents with PHP

Refulz Blog: Traits in PHP 5.4 - Why we need Traits

Matthew Weier O'Phinney's Blog: A Simple PHP Publish-Subscribe System


Community Events





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


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

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