Laravel 可序列化闭包提供了一种在 PHP 中序列化闭包的简单安全方式。
laravel/serializable-closure 统计数据
- 下载量
- 96.2M
- 星标
- 402
- 开放问题
- 0
- 分支
- 23
Laravel 可序列化闭包自述文件
可序列化闭包
简介
该项目是优秀的 opis/closure: 3.x 包的分支。在 Laravel 中,我们决定对该包进行分支,因为即将发布的 4.x 版本是基于 FFI 扩展 的完全重写。由于 Laravel 是一个 Web 框架,并且 FFI 在 Web 请求中默认未启用,因此该分支允许我们继续使用
3.x
系列,同时添加对新 PHP 版本的支持。
Laravel 可序列化闭包提供了一种简单安全的方式来在 PHP 中序列化闭包。
官方文档
安装
需要 PHP 7.4+
首先,通过 Composer 包管理器安装 Laravel 可序列化闭包。
composer require laravel/serializable-closure
使用
您可以通过以下方式序列化闭包。
use Laravel\SerializableClosure\SerializableClosure; $closure = fn () => 'james'; // RecommendedSerializableClosure::setSecretKey('secret'); $serialized = serialize(new SerializableClosure($closure));$closure = unserialize($serialized)->getClosure(); echo $closure(); // james;
注意事项
- 无法在闭包中创建匿名类。
- 无法在闭包中使用属性。
- 不支持在 Laravel Tinker 等 REPL 环境中序列化闭包。
- 不支持序列化引用具有只读属性的对象的闭包。
贡献
感谢您考虑为可序列化闭包做出贡献!贡献指南可以在 Laravel 文档 中找到。
行为准则
为了确保 Laravel 社区对所有人来说都是友好的,请查看并遵守 行为准则。
安全漏洞
请查看 我们的安全策略,了解如何报告安全漏洞。
许可证
可序列化闭包是根据 MIT 许可证 授权的开源软件。