PHP에서 콜백을 어떻게 효과적으로 사용할 수 있나요?

Susan Sarandon
풀어 주다: 2024-10-27 20:34:30
원래의
113명이 탐색했습니다.

How Can I Use Callbacks Effectively in PHP?

PHP에서 콜백 구현

PHP에서 "콜백"이라는 용어는 함수 포인터로 작동하는 문자열과 배열을 모두 포함합니다. PHP 4에서는 다음 구문이 등장했습니다:

  • $cb1 = 'someGlobalFunction';
  • $cb2 = ['ClassName', 'someStaticMethod'];
  • $cb3 = [$object, 'somePublicMethod'];

PHP 5.2.3에는 호출 가능한 구문이 도입되었지만 이러한 구문이 포함된 문자열은 직접 호출할 수 없습니다. PHP 4의 레거시 구문에는 다음이 포함됩니다.

  • $cb3 = array(&$object, 'somePublicMethod');

다음 코드 조각은 호출 가능한 값의 안전한 사용법을 보여줍니다. :

<code class="php">if (is_callable($cb2)) {
    $returnValue = call_user_func($cb2, $arg1, $arg2);
}</code>
로그인 후 복사

최신 PHP 버전은 위의 처음 세 가지 형식을 $cb()로 직접 호출하는 것을 지원합니다. 또한 call_user_func 및 call_user_func_array는 제시된 모든 형식을 지원합니다.

참고 및 주의 사항:

  • 네임스페이스 함수/클래스에는 정규화된 이름이 필요합니다. ['VendorPackageFoo', 'method'].
  • call_user_func는 참조로 비객체 전달을 지원하지 않습니다. call_user_func_array 또는 $cb()를 사용하세요. 최신 PHP 버전.
  • __invoke() 메서드(익명 함수 포함)가 있는 객체는 콜백으로 사용될 수 있지만 일반적으로 전통적인 "콜백" 용어와 연결되지 않습니다.
  • 레거시 create_function ()는 전역 함수를 만들고 그 이름을 반환합니다. 대신 익명 함수를 사용하세요.

위 내용은 PHP에서 콜백을 어떻게 효과적으로 사용할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!