При попытке сериализации модели, использующей признаки, 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
Некоторый код был проигнорирован, чтобы сосредоточиться на проблеме
Особенности PHP введены с PHP 5.4.0, последний код JMSSerializer поддерживает PHP 5.3.2. Заметка "require": {"php": ">=5.3.2",
Просматривая код, эта функция не поддерживается (пока). Эта проблема очень связана с Эта проблема на JMSSerializer github.
Других решений пока нет …