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