Muszę wiedzieć, czy metoda jest zadeklarowana jako statyczna, biorąc pod uwagę jej nazwę i nazwę klasy, która go zawiera. method_exists
zapewnia true
dla metod statycznych i niestatycznych.Jak sprawdzić, czy metoda jest statyczna w PHP?
5
A
Odpowiedz
6
użycie ReflectionMethod::isStatic
7
Oto nieco bardziej wyraźny sposób, w jaki sposób korzystać z ReflectionMethod:
$MethodChecker = new ReflectionMethod($ClassName,$MethodName);
var_dump($MethodChecker->isStatic());
Jak to działa? Link wskazuje na wartość ReflectionClass :: getStaticPropertyValue, ale dotyczy to właściwości, a nie metod. Powinien on link tutaj: http://php.net/manual/en/reflectionmethod.isstatic.php, ale nie ma przykładów, i nie mogę dowiedzieć się, jak to działa. –
Wyliczyłem to. Dodawanie nowej odpowiedzi. –
$ method = new ReflectionMethod ('NameOfClass', 'nameOfMethod'); $ isStatic = $ method-> isStatic(); –