5

Я пытаюсь использовать ExclusionPolicy, однако я продолжаю получать сообщение «Аннотации не существует или не может быть автоматически загружена».JMSSerializer и FOSRestBundle - Аннотации не работают. «Не существует»

Вот точная ошибка выбрасывания:

[Семантическая Error] аннотаций "@JMS \ SerializerBundle \ Аннотация \ ExclusionPolicy" в классе Acme \ DemoBundle \ Entity \ Атрибуты не существует, или не может быть автоматически загружается.

Мой код выглядит следующим образом:

namespace Acme\DemoBundle\Entity; 

use Doctrine\ORM\Mapping as ORM; 
use Symfony\Component\Validator\Constraints; 
use JMS\SerializerBundle\Annotation\ExclusionPolicy; 
use JMS\SerializerBundle\Annotation\Expose; 

/** 
* Acme\DemoBundle\Entity\Attributes 
* 
* @ORM\Table() 
* @ORM\Entity(repositoryClass="Acme\DemoBundle\Entity\AttributesRepository") 
* 
* @ExclusionPolicy("all") 
*/ 
class Attributes 
{ 
    ... 
} 

ответ

10

ваша проблема вызвана использованием неправильного пространства имен.

Вместо:

use JMS\SerializerBundle\Annotation\ExclusionPolicy; 
use JMS\SerializerBundle\Annotation\Expose; 

Оно должно быть:

use JMS\Serializer\Annotation\ExclusionPolicy; 
use JMS\Serializer\Annotation\Expose; 

Уведомление "Bundle" ушел. В Ver 0.11 он был извлечен в собственный репозиторий.

Список изменений выглядит следующим образом:

  • пространство имен Изменения

Библиотека ядра была извлечена на выделенный хранилище schmittjoh/serializer, чтобы сделать его проще повторного использования в любом виде проекта PHP , а не только в проектах Symfony2. Это приводит к нескольким изменениям пространства имен . Вы можете настроить свои проекты, выполняя эти замены (по порядку):

  • JMS \ SerializerBundle \ Serializer -> JMS \ Serializer
  • JMS \ SerializerBundle -> JMS \ Serializer
  • JMS \ Serializer \ внедрение зависимости -> JMS \ SerializerBundle \

  • внедрение зависимости

  • Зависимость изменения

Возможно, вам потребуется увеличить версии jms/di-extra-bundle, а также jms/security-extra-bundle в зависимости от настроек стабильности. Иногда бывает необходимо запустить обновление композитора дважды, потому что ошибки в алгоритме решения композитора.

 Смежные вопросы

  • Нет связанных вопросов^_^