Как определить, статичен ли я или объект? - PullRequest
2 голосов
/ 30 октября 2009

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

Ответы [ 2 ]

9 голосов
/ 30 октября 2009

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

$isStatic = !(isset($this) && get_class($this) == __CLASS__);
1 голос
/ 30 октября 2009

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...