Is there any way I can check if a method is being called statically or on an instantiated object?
Try the following:
class Foo { function bar() { $static = !(isset($this) && $this instanceof self); } }