terablaze / serializable-closure
Terablaze 可序列化闭包提供了一种简单且安全的方式来序列化 PHP 中的闭包。
dev-master / 1.x-dev
2023-01-20 21:30 UTC
Requires
- php: ^7.3|^8.0
Requires (Dev)
- nesbot/carbon: ^2.61
- pestphp/pest: ^1.21.3
- phpstan/phpstan: ^1.8.2
- symfony/var-dumper: ^5.4.11
This package is auto-updated.
Last update: 2024-09-21 01:14:10 UTC
README
介绍
此项目是 laravel/serializable-closure 包的分支,该包是 opis/closure: 3.x 包的分支。
Terablaze 可序列化闭包提供了一种简单且安全的方式来 序列化 PHP 中的闭包。
官方文档
安装
需要 PHP 7.4+
首先,通过 Composer 包管理器安装 Terablaze 可序列化闭包
composer require terablaze/serializable-closure
使用方法
您可以通过这种方式序列化闭包
use Terablaze\SerializableClosure\SerializableClosure; $closure = fn () => 'james'; // Recommended SerializableClosure::setSecretKey('secret'); $serialized = serialize(new SerializableClosure($closure)); $closure = unserialize($serialized)->getClosure(); echo $closure(); // james;
注意事项
- 在闭包中创建 匿名类 不受支持。
- 在闭包中使用属性不受支持。
- 在 Terablaze Repl 等交互式环境上序列化闭包不受支持。
许可协议
可序列化闭包是开源软件,采用 MIT 许可协议。