特性を使用するモデルをシリアライズしようとすると、JMSSerializer はその特性に含まれるプロパティをシリアライズしません。yaml を使用してシリアライザーを構成していますが、機能していないようです。
trait IdentityTrait
{
protected $id;
public function setId($id)
{
$this->id = $id;
return $this;
}
public function getId()
{
return $this->id;
}
}
class OurClass {
use IdentityTrait;
protected $test;
public function getTest() {
$this->test;
}
}
JMSSerializerBundle が使用され、次の yaml が配置されます。Resources/config/serializer/Model.Traits.IdentityTrait.yml
MyProject\Component\Core\Model\Traits\IdentityTrait:
exclusion_policy: NONE
properties:
id:
expose: true
そして、OurClass
構成は次の場所にありますResources/config/serializer/Model.OurClass.yml
MyProject\Component\Core\Model\OurClass:
exclusion_policy: NONE
properties:
test:
expose: true
問題に集中するために一部のコードは無視されています