扫码关注官方订阅号
PHP可以通过序列化serialize生成字符串传递对象、数组等格式,但serialize不支持序列化闭包。 有什么方法可以使用字符串传递闭包呢?
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
闭包是匿名函数,既然是匿名的,目测没法通过传递一个字符串名字来传递闭包。
但是,闭包也是可以序列化的 -- 使用这个库就可以了: https://github.com/jeremeamia...
用法示例代码中已经讲的很清楚了:
use SuperClosure\Serializer; $serializer = new Serializer(); $greeting = 'Hello'; $hello = function ($name = 'World') use ($greeting) { echo "{$greeting}, {$name}!\n"; }; $hello('Jeremy'); //> Hello, Jeremy! $serialized = $serializer->serialize($hello); // ... $unserialized = $serializer->unserialize($serialized); $unserialized('Jeremy'); //> Hello, Jeremy!
很简单有没有。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
闭包是匿名函数,既然是匿名的,目测没法通过传递一个字符串名字来传递闭包。
但是,闭包也是可以序列化的 -- 使用这个库就可以了: https://github.com/jeremeamia...
用法示例代码中已经讲的很清楚了:
很简单有没有。