我向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
时收到了下一个错误:
致命错误:未捕获的异常'异常'通过消息'序列化' SimpleXMLElement'不允许'在第0行的[无活动文件]中
例外:' SimpleXMLElement'的序列化在第0行的[无活动文件]中不允许
还有很多错误,例如:
例外:' SimpleXMLElement'的序列化不允许
例外:序列化'关闭'不允许
还有一些Serialization of ... not allowed
。
我不知道如何解决它,因为我没有发送任何XML数据,而且当我从控制器内部调用此服务时,它可以正常工作。
答案 0 :(得分:0)
好吧,编码到Json对象的数据只是一个错误。数组中有一个值来编码也是一个数组。修复它一切正常。