Re: is there a static constructor?
| From: | Peter Lind | 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>