![]() |
Assigning non-static properties from a static method?
I have an abstract factory that is built around a static method which returns the appropriate object based on the arguments I give it. There's certain properties I want to set at the same time that this object is instantiated because they are necessary to every possible child object that it may generate.
Now here's the problem. From within a static method, you can only set static properties. So I switched all my properties that I need to set from there to static, simple solution and it works just fine, but I'm curious... ...is it possible to somehow set a non-static property from within a static method? At first it seemed easy, set the non-static property from within the constructor of the child object, but the abstract factory has a few methods which I need to use across all objects which require these properties to be set as well, so I need to set them from within the static method, not from within the child. -m |
Just have accessor methods inside your child classes:
PHP Code:
|
Oy vey, why is it everytime I think I actually have an interesting question, the answer was staring me in the face the whole time? You hit the nail on the head, though I don't need to use any magic functions at all.
PHP Code:
Okay, back to work... -m |
Well, that makes me feel slightly better. I need the pointer to be staticly set before the instance of the module is created anyways, due to the fact that the modules constructors also handle the display controller, and if I try to create the object, then set the property, I'd need to go back through every module and remove the display from the construct and create a seperate method, then call that method from the... anyways, turns out it works better with the property being static anyways, though this shall be helpful for the future.
-m |
Quote:
|
| All times are GMT. The time now is 02:12 PM. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.1.0