2011-12-13 2 views
2

Меня зовут Денис и мне очень нужна ваша помощь или совет или что-нибудь :)Doctrine 2.1 абстрактная сущность, проверки с использованием аннотаций

Я разрабатываю мой проект в Zend Framework 1.11 и я использую Doctrine 2.1. Я успешно интегрировал Доктрину в моем проекте ZF, и все работает. Я также интегрировал расширения Gedmo и некоторые мои пользовательские расширения.

Проблема с проверкой. Я хочу иметь валидацию сущностей доктрины, используя аннотации. Поскольку иногда мне иногда необходимо проверять мои сущности, я хочу такую ​​проверку, например: $ user = new Entity \ User; $ User-> SetName ('пользователь'); $ User-> Validate();

Я не хочу вообще изменять сгенерированные объекты доктрины, поэтому я не буду менять сеттеры или использовать для этого события доктрины. @ HasLifecycleCallbacks. Я столкнулся с примером в http://www.spiffyjr.me/2011/07/15/more-doctrine-2-and-zend-framework-integration-goodies/.
Я загрузил код, но не смог его запустить. Я выполнил инструкции с этой страницы, и мои объекты расширяют AbstractEntity, но при попытке использовать, например, isValid() я получаю следующую ошибку:
[Семантическая ошибка] Аннотация «@Column» в свойстве Bild \ Entity \ TestTest :: $ id никогда не импортировался. Возможно, вы забыли добавить выражение «use» для этой аннотации?

Я использую аннотации доктрины без @ORM \, просто @, (например, @Column, а не @ORM \ Column). Я даже пытался добавить ORM, но не повезло, что он продолжает бросать ошибки.

я могу Получать метаданные для моего лица, получить поле отображения и ассоциирование отображения, но когда я пытаюсь getPropertyAnnotation // валидатор аннотации $ vAnnotations = само :: _ getPropertyAnnotation ($ свойства, само :: ZENDVALIDATION); var_dump ($ vAnnotations); die; Я получаю упомянутую семантическую ошибку.

Я отслеживал ошибки до Doctrine \ Common \ Annotations \ AnnotationReader :: getPropertyAnnotations ($ property); не возвращая аннотации, а бросая ошибки. Как вы думаете, что это может быть?

Кажется, что я не делаю что-то правильно, но не могу понять, что.

Итак, мне нужно сделать абстрактную сущность, сделать мои сущности ее расширены и выполнить функции для проверки моих объектов с помощью аннотаций.

Так что, пожалуйста, помогите мне с этим, если сможете. Мне действительно нужен мой проект, но я не мог найти решение.

Заранее спасибо. С уважением.

+0

Как вы можете получить советы. В настоящее время я проверяю свои модели с помощью Zend_Form. Поскольку вы получите данные от пользователей через формы, вы уже проверяете их. См. Сообщение от Мэтью Вейера О'Финни http://mwop.net/blog/200-Using-Zend_Form-in-Your-Models Это не с учением, но идея такая же. Я реализовал его на моем уровне сервиса, который имеет дело с объектами доктрины. –

ответ

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