【发布时间】:2014-04-24 11:26:24
【问题描述】:
我正在向 Mixpanel 发送某种事件。所以我创建了一个服务,其中事件被配置并通过json_encode 函数转换为 Javascript Mixpanel API 方法。
这个包含事件的 Json 对象是从 Twig 模板调用的:
{{ mixpanel.consumeJavascriptActions | raw }}
它几乎总是可以正常工作,但是当我从事件侦听器内部调用服务时:
function onFlush(OnFlushEventArgs $args)
{
$this->newProposals = array();
$ormUtils = new DoctrineOrmUtils($this->doctrine->getManager());
foreach ($args->getEntityManager()->getUnitOfWork()->getScheduledEntityInsertions() as $entity) {
if ($entity instanceof Proposal) {
$this->newProposals[] = $entity;
}
}
}
function postFlush(PostFlushEventArgs $args)
{
foreach ($this->newProposals as $proposal) {
//Here I call the service
$this->get('pro_mixpanel')->trackCommunityChanges($proposal->getCommunity(), $this->getUser());
}
}
当事件new Proposal 被触发时,我收到下一个错误:
致命错误:在第 0 行的 [no active file] 中未捕获的异常 'Exception' 带有消息 'SimpleXMLElement' 的序列化是不允许的'
例外:在第 0 行的 [no active file] 中不允许序列化“SimpleXMLElement”
还有一长串类似这样的错误:
例外:不允许序列化“SimpleXMLElement”
例外:不允许序列化“闭包”
还有更多Serialization of ... not allowed。
我不知道如何解决它,因为我没有发送任何 XML 数据,并且当我从控制器内部调用此服务时它可以正常工作。
【问题讨论】:
标签: symfony serialization