WorkerMan에서 함수 다음에 사용이란 무엇을 의미합니까?

WBOY
풀어 주다: 2016-08-04 09:19:47
원래의
1425명이 탐색했습니다.

예를 들어, 주어진 예에는 다음과 같은 코드가 있습니다.

<code>$recv_worker->onMessage = function($connection, $data)use($recv_worker)
{
    foreach($recv_worker->sendWorker->connections as $send_connection)
    {
        //$send_connection->websocketType = "\x82";
        $send_connection->send($data);
    }
};

这里的:function($connection, $data)use($recv_worker)
为什么function后面可以跟use,而不是直接写函数体{}?

另外,...=function(){} 这种回调函数是怎么实现的?只要js中看到有类似的用法,但在php中以前好像没有看到这种用法。
</code>
로그인 후 복사
로그인 후 복사

답글 내용:

예를 들어, 주어진 예에는 다음과 같은 코드가 있습니다.

<code>$recv_worker->onMessage = function($connection, $data)use($recv_worker)
{
    foreach($recv_worker->sendWorker->connections as $send_connection)
    {
        //$send_connection->websocketType = "\x82";
        $send_connection->send($data);
    }
};

这里的:function($connection, $data)use($recv_worker)
为什么function后面可以跟use,而不是直接写函数体{}?

另外,...=function(){} 这种回调函数是怎么实现的?只要js中看到有类似的用法,但在php中以前好像没有看到这种用法。
</code>
로그인 후 복사
로그인 후 복사

그걸 익명 함수라고 합니다
http://www.php.net/manual/zh/...
공식 설명을 먼저 읽어보시면 알겠지만...js에서는 정말 흔한 일이죠. ..이것은 php5.3 이후의 기능
사용은 외부 출력을 익명 함수 또는 클로저로 전달하는 데 사용됩니다

아마도 이런 곳을 사용하여 주체가 노출되는 웹 프레임워크는 많지 않을 텐데요...

php 클로저

현재 매우 일반적인 기능

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿