News Feed
Jobs Feed
Sections




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

Stubbles Blog:
My wishlist for PHP6, pt4 static initializers
March 26, 2007 @ 09:16:00

In a continuation of their "wishlist" series of posts for PHP6, Stephan Schmidt has postted this new item today taking about something he wishes PHP could do - initialize a property when defining an object.

But how could this be solved, when you never create an instance of Foo but only use static method calls?

I propose a new feature, we implemented in the Stubbles class loader and has been shamelessly ripped from the XP framework. If you need to initialize some properties with objects and are developing with Stubbles, you only need to implement a method called __static() in your class. If your class is loaded by the Stubbles class loader, it will check, whether this method has been implemented and call it. As every class is only loaded once, this enables you to add code to your class, that is also only executed once, if the class is imported into your application.

His solution allows for the creation of such objects with little more than the use of a __static call that could get the object and change the property defined on it.

1 comment voice your opinion now!
static initializers php6 wishlist class loader static initializers php6 wishlist class loader


blog comments powered by Disqus

Similar Posts

PHP Magazine: What Would You Like to See In PHP 6?

DevShed: Working with Private Properties to Protect PHP 5 Class Data

Juozas Kaziukenas' Blog: PayPal payment with encryption

KillerPHP Blog: PHP Interfaces: when and why you should use them instead of classes?

Cal Evan's Blog: Three Lists I Never Want to See Again


Community Events











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


component facebook series podcast security package install unittest hack overview release code framework application composer hhvm introduction symfony2 language opinion

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