호출 가능한 의사 유형을 사용하여 PHP에서 다른 함수의 인수로 함수를 사용하는 방법은 무엇입니까?

사용자 31782

방금 php.net에서 호출 가능한 유형에 대해 읽었으며 callable키워드를 사용하면 함수를 다른 함수에 인수로 전달할 수 있다고 가정 합니다. 그러나 나는 경고를 받고있다. 내가 시도한 것은 다음과 같습니다.

<?php

function helloWorld()
{
   echo 'Hello World!';
}
function handle(callable $fn)
{
   $fn(); 
}

handle(helloWorld); // Outputs: Hello World!

?>

그러나 때때로 다음과 같은 오류가 발생합니다.

Parse error: syntax error, unexpected 'function' (T_FUNCTION), expecting variable (T_VARIABLE)

그리고 때때로

Warning: Use of undefined constant helloWorld - assumed 'helloWorld' (this will throw an Error in a future version of PHP) in C:\Projects\Sandbox\myphp on line 12

Q1. PHP helloWorld가 이미 함수로 명시 적으로 정의 된 변수 일 것으로 예상 하는 이유는 무엇입니까?
Q2. 분명히 callable함수 정의에서 키워드 제거해 도 아무런 차이가 없습니다. 왜?

오스트리아의 알렉산더

다음과 같이 인수를 따옴표로 묶어야합니다.

handle('helloWorld');

보다는

handle(helloWorld);

PHP 문서를 위해callable 상태가 "A PHP 함수는 그 이름을 문자열로 전달한다."

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관