栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

例外:不允许序列化“关闭”

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

例外:不允许序列化“关闭”

显然,匿名函数无法序列化。

$function = function () {    return "ABC";};serialize($function); // would throw error

从您的代码中,您正在使用Closure:

$callback = function () // <---------------------- Issue{    return 'ZendMail_' . microtime(true) . '.tmp';};

解决方案1: 替换为正常功能

function emailCallback() {    return 'ZendMail_' . microtime(true) . '.tmp';}$callback = "emailCallback" ;

解决方案2: 通过数组变量间接调用方法

如果您查看
http://docs.mnkras.com/libraries_23rdparty_2_zend_2_mail_2_transport_2file_8php_source.html

   public function __construct($options = null)   63     {   64         if ($options instanceof Zend_Config) {   65  $options = $options->toArray();   66         } elseif (!is_array($options)) {   67  $options = array();   68         }   69    70         // Making sure we have some defaults to work with   71         if (!isset($options['path'])) {   72  $options['path'] = sys_get_temp_dir();   73         }   74         if (!isset($options['callback'])) {   75  $options['callback'] = array($this, 'defaultCallback'); <- here   76         }   77    78         $this->setOptions($options);   79     }

您可以使用相同的方法发送回调

$callback = array($this,"aMethodInYourClass");


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/443059.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号