Re: is there a static constructor?

From: Date: Thu, 31 Mar 2011 05:31:33 +0000
Subject: Re: is there a static constructor?
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-312151@lists.php.net to get a copy of this message
On 31 March 2011 06:56, D. Dante Lorenso <dante@lorenso.com> wrote: > All, > > I want to build a config file class that gets called statically.  Is there > such a thing as a static constructor?  Example: > > class Daz_Config { >  public static function load() { >    ... >  } >  public static function get($key) { >    self :: load(); >    ... >  } > } > > Daz_Config :: get('myvalue'); > > I want to call the load function when the class is used for the first time. >  If no code ever calls "Daz_Config :: get(...)" then I never want to invoke > load() but if it does get called, I only want to call load() once before the > class is used further. > > Anyone know how to do this with calling load() at the top of all the other > functions and writing a load() function that exits early if already loaded? > The concept doesn't really make sense - a class that never gets instantiated never gets constructed, hence no static constructor (nor a static destructor). You'll have to call your "constructor" function at the top of the static methods you'll be using - just check inside the constructor if it's been called before or not. Regards Peter -- <hype> WWW: plphp.dk / plind.dk LinkedIn: plind BeWelcome/Couchsurfing: Fake51 Twitter: kafe15 </hype>

« previous php.general (#312151) next »