84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
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!
很简单有没有。
闭包是匿名函数,既然是匿名的,目测没法通过传递一个字符串名字来传递闭包。
但是,闭包也是可以序列化的 -- 使用这个库就可以了: https://github.com/jeremeamia...
用法示例代码中已经讲的很清楚了:
很简单有没有。