guirong/php-closure
Composer 安装命令:
composer require guirong/php-closure
包简介
realize the serialization and deserialization of closures.
README 文档
README
实现闭包的序列化和反序列化
-
序列化任何闭包
-
序列化任意对象
-
不使用“eval”进行闭包序列化或非序列化
-
适用于任何支持闭包的PHP版本
-
支持PHP 7 语法
-
处理“use()”中引用/导入的所有变量,并自动包装
适当的序列化
-
处理递归闭包
-
处理魔术常量,如
__FILE__、__DIR__、__LINE_、___NAMESPACE__、'CLASS`、,
__TRAIT_、__METHOD_和__FUNCTION_。
-
自动解析闭包中使用的所有类名、函数名和常量名
-
使用“#trackme”指令跟踪闭包的驻留源
-
简单且快速的解析器
-
执行非序列化闭包时可能发生的任何错误或异常都可以被捕获并正确处理
-
您可以无限次序列化/取消序列化任何闭包,即使是以前未序列化的闭包
(这是可能的,因为“eval()”不用于非序列化)
-
处理静态闭包
-
支持加密签名的闭包
-
提供一个反射体,它可以为您提供有关序列化闭包的信息
-
为SuperClosure库提供分析器
-
自动检测何时需要序列化闭包的作用域和/或绑定对象
为了使闭包在反序列化后工作
php版本
- PHP ^5.4 || ^7.0 || ^8.0
安装
- composer 命令
composer require guirong/php-closure
- composer.json
{
"require": {
"guirong/php-closure": "^1.0.1"
}
}
快速开始
- 序列化
\Guirong\PhpClosure\ClosureSerialize::serialize($closure_data);
or
\Guirong\PhpClosure\serialize($closure_data);
- 反序列化
\Guirong\PhpClosure\ClosureSerialize::unserialize($serialize_data,$options);
or
\Guirong\PhpClosure\unserialize($serialize_data,$options);
特别注意
- 序列化数据在写入到文件中时,文件函数会将单斜杠 "\" 转化为双斜杠 "\\" ,如果读取文件内容后不做转化处理,将导致反序列化失败。为此你可以这样处理
//base64 序列化转码 $serialize_data = base64_encode( \Guirong\PhpClosure\ClosureSerialize::serialize($closure_data) ); file_put_contents('clourse.txt',$serialize_data); $serialize_data = file_get_contents('clourse.txt'); //base64 序列化解码 $closure_data = \Guirong\PhpClosure\ClosureSerialize::unserialize( base64_decode($serialize_data),$options );
guirong/php-closure 适用场景与选型建议
guirong/php-closure 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 77 次下载、GitHub Stars 达 0, 最近一次更新时间为 2023 年 03 月 01 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「serialize」 「serialization」 「function」 「closure」 「serializable」 「anonymous functions」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 guirong/php-closure 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 guirong/php-closure 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 guirong/php-closure 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
LazyPDO is a set of wrappers over PHP's standard PDO and PDOStatement classes. It enables lazy loading, serialization and decoration.
Fork of jms/serializer 1.14.1 with support for modern PHP versions.
Transform data structures
De/normalize business objects without tightly coupling them to your normalization format
PHPUnit extension to Mock PHP internal functions using Runkit.
Lightweight PHP library that allows exchanging binary data with Qt programs (QDataStream)
统计信息
- 总下载量: 77
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 24
- 依赖项目数: 2
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2023-03-01