Как определить, стати я или объект?

Кто-нибудь знает, как определить, меня ли статически называют (Classname :: function) или внутри объекта (функция $ classInstance->) внутри метода PHP?

По общему признанию, это не офсайд … но у Шона Коутса есть классный и довольно простой подход к выяснению этого :

$isStatic = !(isset($this) && get_class($this) == __CLASS__); 

Проверьте, установлен ли $this и равен классу. Он будет равен для вызова экземпляра и не равно (или null) для статического вызова.