0
"콜백"인수를 사용하는 함수가 있습니다. 이것은 함수 또는 정적 클래스 메소드가 될 수 있습니다.제공된 "콜백"인수가 정적인지 확인하십시오.
방법이 정적인지 아닌지 어떻게 확인할 수 있습니까?
"콜백"인수를 사용하는 함수가 있습니다. 이것은 함수 또는 정적 클래스 메소드가 될 수 있습니다.제공된 "콜백"인수가 정적인지 확인하십시오.
방법이 정적인지 아닌지 어떻게 확인할 수 있습니까?
나는 이것을 이 되겠지만 리플렉션을 통해이 작업을 수행 할 수 있다고 가정합니다.
콜백을 가정하면 것은 $callback
입니다 :
if (is_array($callback)) { // a function will just be a string
$classname = $callback[0];
$methodname = $callback[1];
$method = new ReflectionMethod($classname, $methodname);
if ($method->isStatic()) {
// method is static
}
}
참고이 가 $callback[0]
가 객체 인 경우 회하지 계정을한다, 또는 당신은 $callback
, 또는 다른 아마도 모든 종류의 같은 람다 함수가있는 경우 상황. 나는 네가 찾고있는 것을 정말로 이해하지 못한다. 이것으로 충분할 수 있습니다.
아마도 도움이 될 것입니다. http://stackoverflow.com/questions/1858538/how-do-i-check-in-php-that-im-in-a-static-context-or-not – Alex
왜 그럴까요? 문제? 확실히'call_user_func'는 콜백의 종류 *에 대한 걱정없이 당신이해야 할 일을 모두 수행합니까? – lonesomeday
콜백 문자열이 다른 위치에 저장되어 다른 시간에 호출 되었기 때문에 (다른 페이지 요청). 정적 메소드인지 확인하고 싶습니다. – Alex