가능합니까? 젠드 API를 사용하지 않고 네이티브 만 사용합니다. PHP 확장에 같이 사용할 경우 :HHVM에서 PHP 기능 실행 C++ 확장
call_user_function(EG(function_table), NULL, &func, &retval, 1, params);
가능합니까? 젠드 API를 사용하지 않고 네이티브 만 사용합니다. PHP 확장에 같이 사용할 경우 :HHVM에서 PHP 기능 실행 C++ 확장
call_user_function(EG(function_table), NULL, &func, &retval, 1, params);
당신은 가능성이 가장 높은 확장이 호출 시간에 무엇을하고 있는지에 따라 vm_call_user_func().
Variant vm_call_user_func(const Variant& function, const Variant& params,
bool forwarding = false);
를 원하는, 당신은 가능성이 원하는 것 함수가 던질 수있는 예외를 잡으려고.
vm_call_user_func
는 PHP가 callables을 정의하는 다양한 방법 (예를 들어 "SomeClass::someMethod"
, array($obj, "method")
)을 처리하는 방법을 알고있다.
전화 기능을 제공하는 방법에 따라 최적의 방법이있을 수 있습니다. 임의의 콜백 대신 사용자가 클로저 객체를 제공해야한다고 요구할 수 있습니다. 폐쇄 객체는 항상 호출 가능하기 때문에 (예 : "SomeClass::someMethod"
예에 SomeClass
이 있음을 확인할 필요가 없음) 기본 객체를 추출하고 Variant
및 vm_call_user_func()
대신 저장하면 일부 오버 헤드 디코딩을 저장하고 유효성을 검사합니다.