关于最佳做法的快速提问。
我有一个AJAX应用程序,其中有4条路由都返回JSON供jQuery使用。
我目前在Controller的末尾使用类似的东西
return new Response(json_encode($some_array));
在一个地方我使用JMSSerializer,因为我试图传递给Javascript的对象具有受保护的属性。这似乎永远不对,我想知道我是否应该'教'对象知道如何将其所有属性编码为JSON并将它们作为其中一种方法的返回值发送出来。
无论如何,今天早上我有一个脑波,我应该做的是制作一个包含我希望输出的确切格式的Twig JSON模板,然后填充PHP中的变量。在对象中输出对象集合也需要几个循环。
这样一来,PHP就会明确承诺/合同将会返回到Javascript,如果我碰巧发生这样的事情就不会搞砸了。改变对象。我怀疑对于那些正在使用javascript的人来说这会更容易理解,因为模板比PHP更容易阅读。
我是否走在正确的轨道上:我应该使用 JSON Twig模板而不是一般使用json_encode吗?
编辑(同时回到牧场)
自从发表这个问题后,我的研究表明:
Twig JSON模板与json_encode
答案 0 :(得分:1)
如果你担心的是没有合同,那么也许你应该写一个单元测试。它可以更进一步,因为你也可以通过这种方式签订属性值的合同。