reagordi / serializable-closure
Reagordi 可序列化闭包提供了一种简单安全的方式来在 PHP 中序列化闭包。
1.0.0
2024-05-01 15:24 UTC
Requires
- php: ^8.2
- reagordi/contracts-serializable-closure: ^1.0
- reagordi/support-serializable-closure: ^1.0
Requires (Dev)
- maglnet/composer-require-checker: ^4.7
- phpunit/phpunit: ^10.5
- rector/rector: ^1.0.3
- roave/infection-static-analysis-plugin: ^1.34
- spatie/phpunit-watcher: ^1.23
- vimeo/psalm: ^5.20
This package is auto-updated.
Last update: 2024-09-09 23:30:43 UTC
README
Reagordi 可序列化闭包
Reagordi 可序列化闭包提供了一种简单安全的方式来在 PHP 中序列化闭包。
要求
- PHP 8.2 或更高版本。
安装
可以使用 composer 安装此包
composer require reagordi/serializable-closure
一般使用
您可以按这种方式序列化闭包
use Reagordi\Component\SerializableClosure\SerializableClosure; $closure = fn () => 'james'; // Recommended SerializableClosure::setSecretKey('secret'); $serialized = serialize(new SerializableClosure($closure)); $closure = unserialize($serialized)->getClosure(); echo $closure(); // james;
注意事项
- 在闭包内无法创建匿名类。
- 在闭包内无法使用属性。
- 不支持在 Laravel Tinker 等交互式环境(REPL)中序列化闭包。
- 不支持序列化引用具有只读属性的对象的闭包。
测试
单元测试
该包使用 PHPUnit 进行测试。要运行测试
./vendor/bin/phpunit
突变测试
该包的测试使用 Infection 突变框架以及 Infection 静态分析插件 进行检查。要运行它
./vendor/bin/roave-infection-static-analysis-plugin
静态分析
代码使用 Psalm 进行静态分析。要运行静态分析
./vendor/bin/psalm
代码风格
使用 Rector 使代码库遵循某些特定规则,或者使用最新的或任何特定版本的 PHP
./vendor/bin/rector
依赖关系
使用 ComposerRequireChecker 检测传递性的 Composer 依赖。
许可证
Reagordi 可序列化闭包是自由软件。它根据 BSD 许可证发布。有关更多信息,请参阅 LICENSE
。
由 Reagordi Group 维护。