ちょうど 1 時間前に、symfony 4.2 のシリアライザーの新しい circle_reference_handler について質問しました。
( symfony 4.2 の代わりにコンテキストの "circular_reference_handler" キーを使用してください)
その質問への答えは、到達した最大ネスティング レベルの新しい問題に私を導きます。
ドキュメント ( 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 関数の本体に何を入れるかの例はありますか?
どんな助けでも大歓迎です