OO php: static and factory classes
Lonnie Olson
lists at kittypee.com
Fri Aug 31 15:40:26 MDT 2007
On Fri, 2007-08-31 at 15:34 -0600, Charles Curley wrote:
> I'd like to build a factory class (all static methods) called Images
> that will that create, store, etc. instances of another class,
> Image. I can create image and Images, but I have to instantiate Images
> in order to call a factory method. This works:
>
>
> $snark = new Images ();
> $countImages = $snark->imageCount ($client_id, $db, __LINE__, __FILE__);
>
>
> but this does not:
>
> $countImages = $Images->imageCount ($client_id, $db, __LINE__, __FILE__);
>
> The docs say the second should work:
>
> Declaring class members or methods as static makes them accessible
> without needing an instantiation of the class. A member declared as
> static can not be accessed with an instantiated class object (though
> a static method can).
>
> http://www.php.net/manual/en/language.oop5.static.php
Your problem is probably your syntax in calling the static function.
$countImages = Images::imageCount($client_id, $db, __LINE__, __FILE__);
--lonnie
PS. I copied this message to the UPHPU group. Lots of great PHP devs
there. http://uphpu.org/
More information about the PLUG
mailing list