【Symfony2.3】JMSserializerを用いた際にEntityのjson化深度を設定する。

JoinしまくってるDBなどで、引っ張ってくる深度を設定したい場合
下記のようにMaxDepthを設定してやることで制御可能。

※公式クックブックまんま引用。

use JMS\Serializer\Annotation\MaxDepth;

class User
{
    private $username;

    /** @MaxDepth(1) */
    private $friends;

    /** @MaxDepth(2) */
    private $posts;
}

class Post
{
    private $title;

    private $author;
}

さらなる詳細は下記URLを参照されたし。

http://jmsyst.com/libs/serializer/master/cookbook/exclusion_strategies