tags:

views:

40

answers:

3

could i use nonstatic members inside a static method?

eg.

 $this->nonStaticProperty
 $this->nonStaticMethod()

and vice versa that is to say use static members inside non-static methods?

A: 

Not really, as you can't use $this in a static context.

Simon
+3  A: 

As a static member doesn't have an instance, it can't call instance methods (unless you create an instance inside that method).

Rubens Farias
is creating an instance within a static method recommended?
weng
no, it's not; if you need to do that, you have a design problem
Rubens Farias
+2  A: 

From http://php.net/manual/en/language.oop5.static.php

Declaring class properties or methods as static makes them accessible without needing an instantiation of the class. A property declared as static can not be accessed with an instantiated class object (though a static method can).

You can't use non-static members in a static function, since they're outside the function's scope. But you can use static members in a non-static function.

Sheep Slapper