闭包(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等其他存储引擎中
网友评论