2017-04-20 1 views

답변

1

당신은 가능성이 가장 높은 확장이 호출 시간에 무엇을하고 있는지에 따라 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이 있음을 확인할 필요가 없음) 기본 객체를 추출하고 Variantvm_call_user_func() 대신 저장하면 일부 오버 헤드 디코딩을 저장하고 유효성을 검사합니다.