Возможный дубликат:
Как определить, стати я или объект?
Предположим, у меня есть FooClass
с методом bar()
. Внутри метода bar()
есть ли способ сказать, называется ли это статическим или нет, поэтому я могу рассматривать эти два случая по-разному?
FooClass::bar(); $baz = new FooClass(); $baz->bar();
class FooClass { function bar() { if ( isset( $this ) && get_class($this) == __CLASS__ ) { echo "not static"; } else { echo "static"; } } } FooClass::bar(); $baz = new FooClass(); $baz->bar();