黄p网站_在线看中文字幕_亚洲电影免费观看_成人激情视频_欧美成视频_中国av在线

閉包函數(shù)

閉包的概念

閉包就是能夠讀取其他函數(shù)內(nèi)部變量的函數(shù)。例如在javascript中,只有函數(shù)內(nèi)部的子函數(shù)才能讀取局部變量,所以閉包可以理解成“定義在一個函數(shù)內(nèi)部的函數(shù)“。在本質(zhì)上,閉包是將函數(shù)內(nèi)部和函數(shù)外部連接起來的橋梁。 在php中,閉包函數(shù)一般就是匿名函數(shù). 舉例,有一個定時任務,每一秒執(zhí)行一次,現(xiàn)在我們要開啟一個服務,然后準備在30秒的時候關閉這個服務

<?php
function tick($callback){
    while (1) {//簡單實現(xiàn)的定時器,每秒都去執(zhí)行一次回調(diào)
        call_user_func($callback);
        sleep(1);
    }
}
class Server
{
    //模擬退出一個服務
    public function exitServer()
    {
        return true;
    }
}
$server = new Server();
$time = time();
tick(function ()use($server) {
    $server->exitServer();
});

在這里面,使用匿名函數(shù),use了函數(shù)外部的$server變量,才使得定時器能回調(diào)調(diào)用$server->exitServer();

匿名函數(shù)

匿名函數(shù) 通俗來講,就是沒有名字的函數(shù),例如上面寫的function(){},它通常作為閉包函數(shù)使用,使用方法如下:

<?php
$fun = function($name){
    printf("Hello %s\r\n",$name);
};
echo $fun('Tioncico');
function a($callback){
    return $callback();
}
a(function (){
    echo "EasySwoole\n";
    return 1;
});

use

PHP在默認情況下,匿名函數(shù)不能調(diào)用所在代碼塊的上下文變量,而需要通過使用use關鍵字。

<?php
function a($callback){
    return $callback();
}
$str1 = "hello,";
$str2 = "Tioncico,";
a(function ()use($str1,$str2){
    echo $str1,$str2,"EasySwoole\n";
    return 1;
});
主站蜘蛛池模板: 91精品国产日韩91久久久久久 | av网站在线免费观看 | 久久高清一区 | 欧美一区二区三区精品 | 天天射欧美 | 狠狠躁天天躁夜夜添人人 | 久久久精品456亚洲影院 | 成人a在线视频免费观看 | 国产精品久久久久久久久久新婚 | 日韩综合视频在线观看 | 97国产精品视频人人做人人爱 | 日本一区二区三区视频免费看 | 中国一级大黄大黄大色毛片 | 91啦 | 欧美一级二级视频 | 黄网在线观看 | 国产在线不卡一区 | 亚洲丶国产丶欧美一区二区三区 | 黄色一级毛片免费 | 欧美日韩一区二区在线观看 | 91传媒在线播放 | 久久国产精品免费一区二区三区 | 久草综合网| 亚洲国产精品视频 | 成人精品视频99在线观看免费 | 亚洲精品国产电影 | 欧美视频xxx | 亚洲日本欧美日韩高观看 | 九九在线视频 | 一级毛片网 | 成人日韩| 欧美色图亚洲自拍 | 毛片一区二区三区 | 91免费在线看 | 欧美成人精品 | 久久久久国产精品午夜一区 | 国内久久精品 | 国产亚洲精品久久久优势 | 欧美黑人一级爽快片淫片高清 | 亚洲精品久久久久久久久久久 | 成人精品电影 |