美文网首页
MS-其他-(闭包、Session)

MS-其他-(闭包、Session)

作者: Captain_tu | 来源:发表于2019-01-07 16:40 被阅读0次

    闭包(Closure)

    闭包就是能读取其他函数内部变量的函数。例如js中,只有函数内部的子函数才能读取局部变量,所以闭包也可以理解为,“定义在函数内部的自函数”

    PHP中的闭包函数(Closures),也叫匿名函数(Anonymous Functions),允许生成一份临时的,没有名称的函数,最常用来作为回调函数的参数,如Laravel中的路由:

    Route::get("/", function(){
        return "Hello world";
    });
    

    如usort的自定义排序函数:

    class User{
        public function __construct($name, $age){
            $this->name = $name;
            $this->age = $age;
        }
    }
    
    $users = [
        new User("Tom", 10),
        new User("Caven", 12),
        new User("Dekt", 6),
        new User("Pobo", 9)
    ];
    
    var_dump($users);
    usort($users, function($user1, $user2){
        return $user1->age - $user2->age;
    });
    var_dump($users);
    
    usort($users, function($user1, $user2){
        return strcmp($user1->name, $user2->name);
    });
    var_dump($users);
    

    Session

    session通过一个PHPSESSID的cookie和服务器关联,即sessionID。
    通过session_set_save_handler(callback open,callback close,callback read,callback write,callback destroy,callback gc)可以将session保存在redis,mysql等其他存储引擎中

    相关文章

      网友评论

          本文标题:MS-其他-(闭包、Session)

          本文链接:https://www.haomeiwen.com/subject/lcahrqtx.html