嘿,就在一个小时前,我问了一个关于 symfony 4.2 序列化程序中新的 circular_reference_handler 的问题。
(使用上下文的“circular_reference_handler”键代替 symfony 4.2)
该问题的答案将我引向一个新问题,即达到的最大嵌套级别。
在文档中(https://symfony.com/doc/current/components/serializer.html#handling-serialization-depth)
没有提到这个上下文键或如何实现它。
如果我使用上一个问题的 circular_reference_handler 的示例,我将在 framework.yaml 文件中添加上下文键:
framework:
serializer:
max_depth_handler: 'App\Serializer\MyMaxDepthHandler'
并创建类
namespace App\Serializer;
class MyMaxDepthHandler
{
public function __invoke($object){
//TODO how to handle this
}
}
为了让序列化程序使用这个处理程序,我为序列化函数设置了上下文:
$this->serializer->serialize($object, 'json', ['enable_max_depth' => true]);
现在我的问题是我该如何处理?有没有人举个例子说明在这个 __invoke 函数的主体中应该放什么?
任何帮助将不胜感激