Re: PHP5 Class problem
| From: | Jochem Maas | Date: | Fri, 28 Jan 2005 13:02:00 +0000 |
| Subject: | Re: PHP5 Class problem | ||
| References: | 1 2 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-207584@lists.php.net to get a copy of this message | ||
daniel@electroteque.org wrote:
classes cannot be defined as static - defining them as abstract has the effect of being able to only use a given class statically (unless you subclass it and the subclass is not abstract).1. you are calling the method on a object (i.e. not as a static call like SessionHandler::getOrgSession()) 2. the function (method) you are calling is _NOT_ defined as static. in your case you have defined all your methods as static.... so the engine will not make $this available even if you call the method/function on an instantiated object. solution - remove 'static' from the function definitions that you wish to use $this in.how odd, i have assumed having a class static you could still throw around
variables inside it, or its only meant to stay in the one static method soyes you can use variables - but not member variables because $this is not defined in functions that are declared static - bare in mind you can call a method statically even though its not marked as static (just be sure you don't reference $this). sidenote: the php4 trick of overwriting $this does not work in PHP5.
executing it like Class::staticMethod(); and Class::otherStaticMethod() ?I don't really understand what your asking.