Laravel 可序列化闭包提供了一种在 PHP 中序列化闭包的简单安全方式。

laravel/serializable-closure image

laravel/serializable-closure 统计数据

下载量
96.2M
星标
402
开放问题
0
分支
23

在 GitHub 上查看 →

Laravel 可序列化闭包自述文件


可序列化闭包

Build Status Total Downloads Latest Stable Version License

简介

该项目是优秀的 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';
 
// Recommended
SerializableClosure::setSecretKey('secret');
 
$serialized = serialize(new SerializableClosure($closure));
$closure = unserialize($serialized)->getClosure();
 
echo $closure(); // james;

注意事项

  • 无法在闭包中创建匿名类。
  • 无法在闭包中使用属性。
  • 不支持在 Laravel Tinker 等 REPL 环境中序列化闭包。
  • 不支持序列化引用具有只读属性的对象的闭包。

贡献

感谢您考虑为可序列化闭包做出贡献!贡献指南可以在 Laravel 文档 中找到。

行为准则

为了确保 Laravel 社区对所有人来说都是友好的,请查看并遵守 行为准则

安全漏洞

请查看 我们的安全策略,了解如何报告安全漏洞。

许可证

可序列化闭包是根据 MIT 许可证 授权的开源软件。

laravel photo

Laravel 是一个 Web 生态系统,充满了令人愉快的工具,这些工具为开发人员的幸福和生产力提供了强劲的支持。

Cube

Laravel 新闻稿

加入 40,000 多位其他开发人员,绝不错过新的技巧、教程等。


Laravel 可序列化闭包相关文章

Tinkerwell logo

Tinkerwell

Laravel 开发人员必备的代码运行器。使用 AI、自动完成和对本地和生产环境的即时反馈进行调试。

Tinkerwell
LaraJobs logo

LaraJobs

官方 Laravel 工作板

LaraJobs
SaaSykit: Laravel SaaS Starter Kit logo

SaaSykit: Laravel SaaS 启动工具包

SaaSykit 是一个 Laravel SaaS 启动工具包,包含运行现代 SaaS 所需的所有功能。付款、精美结账、管理面板、用户仪表板、身份验证、现成组件、统计数据、博客、文档等。

SaaSykit: Laravel SaaS 启动工具包
MongoDB logo

MongoDB

通过 MongoDB 和 Laravel 的强大集成增强您的 PHP 应用程序,使开发人员能够轻松高效地构建应用程序。支持事务、搜索、分析和移动用例,同时使用熟悉的 Eloquent API。了解 MongoDB 的灵活、现代数据库如何改变您的 Laravel 应用程序。

MongoDB
No Compromises logo

没有妥协

来自 No Compromises 播客的两位经验丰富的开发人员 Joel 和 Aaron 现已可供您为您的 Laravel 项目雇用。 ⬧ 每月固定费用 7500 美元。 ⬧ 没有冗长的销售流程。 ⬧ 没有合同。 ⬧ 100% 退款保证。

没有妥协
Laravel Forge logo

Laravel Forge

轻松创建和管理您的服务器,并在几秒钟内部署您的 Laravel 应用程序。

Laravel Forge