Кто-нибудь знает от руки способ сказать, вызывается ли меня статически (Classname :: function) или внутри объекта ($ classInstance-> function) внутри метода PHP?
По общему признанию не случайно ... но у Шона Коутса есть классный и довольно простой подход, чтобы выяснить это :
$isStatic = !(isset($this) && get_class($this) == __CLASS__);
Проверьте, установлено ли $this и соответствует ли оно классу. Он будет равен для вызова экземпляра и не равен (или равен нулю) для статического вызова.
$this