Symfony 2:在分支中反序列化对象



我是一个新手,这是我的第一个问题,所以请对我好一点:)

在我的Symfony 2项目中,我想从我的控制器传递一个$user对象到twig模板。该对象包含呈现视图的所有相关信息(如用户名、activepage…)。我的问题是,我也想把mysqli数据库查询的结果在对象内。为了能够在我的分支模板中检索它,我需要在传递之前在控制器中序列化结果对象(数组?)。不幸的是,我不知道如何在twig中反序列化该对象(没有twig过滤器可用)。

我的问题:

  1. 这实际上是一个优雅的方式,还是我应该把数组中的所有对象传递给模板?
  2. 是否可以在用户类中编写一个反序列化函数,我可以在twig模板中调用?
  3. 性能可以吗?
  4. 有经验的人如何做到这一点?

谢谢你的帮助!

用你的数据在你的控制器中建立一个数组,并像这样呈现给你的模板:

return $this->render('yourbundle:example:index.html.twig', array(
            'myArray'   => $array,

然后在你的模板中,你可以像这样访问myArray:

{% for data in myArray %}
...
{% endfor %}

我做了一个这样的服务参数包,我可以在这个过程中添加参数/值,并渲染每一个参数,这样我就可以在javascript中使用它们。

为此,我不得不主要使用JsonSerializable php接口(php 5.4+)和json_decode树枝过滤器。

我认为这是一个很好的方式来传递变量到js像这样,因为你可以使用这个服务时,构建您的项目

最新更新