WorkerMan中的function后面的use是什么意思?

WBOY
Libérer: 2016-08-04 09:19:47
original
1426 Les gens l'ont consulté

比如,给的例子中有这么一段代码:

<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>
Copier après la connexion
Copier après la connexion

回复内容:

比如,给的例子中有这么一段代码:

<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>
Copier après la connexion
Copier après la connexion

那玩意儿叫匿名函数
http://www.php.net/manual/zh/...
可以先看看官方说明...确实js里常见...这是php5.3后的特性
use是用来向匿名函数或者也叫闭包传入外部产量用的

可能暂时题主接触的web框架用这种的地方不多吧...

php 闭包

现在很常用的特性了

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal