Пользовательский объект / Свойства объекта / Функции - PullRequest
3 голосов
/ 15 ноября 2011

Как лучше всего создавать собственные свойства / функции для объектов / объектов Doctrine?

Например, в Symfony1.4 / Doctrine 1.2 я мог бы добавить метод к классу User

public function getName()
{
  return $this->getFirstName().' '.$this->getLastName();
}

Это будет сочетаться с полями и возвращать значение - пользовательское свойство / функцию.

Теперь, где, черт возьми, я делаю это в Symfony2 / Doctrine 2 - класс сущности?это нормально, чтобы поставить пользовательские методы там?Я использую EntityRepositories для пользовательских методов поиска данных ... но не уверен, как лучше всего это сделать для объекта.

Я искал максимум и минимум, а не может найти что-либосвязанные с этим в документации (и Symfony, и Doctrine) .... пожалуйста, избавь меня от страданий!

1 Ответ

3 голосов
/ 15 ноября 2011

Сущность Doctrine - это на самом деле просто старый PHP-объект с дополнительной информацией о том, как сохранить некоторые или все свойства объекта в базе данных. Вы можете добавить в класс все, что захотите, и не все свойства или методы должны быть сопоставлены с полем в базе данных.

Для вашей конкретной цели, ваш метод getName() вполне подходит, насколько это возможно. Обратите внимание, что для обновления полей вам придется либо использовать методы setFirstName() и setLastName(), либо, возможно, написать метод setName(), который взрывается в пространстве и обновляет отдельные поля.

...