Допустим, у меня есть класс User
:
$user = new User(1);
$user->setName('Bob'); // save "bob" to database with ID 1
$user->setGender('Male'); // save "male" to database with ID 1
echo $user->getName(); // display bob
echo $user->getGender(); // display "male";
echo $user->getDesignation() // display "Mr. Bob"
Теперь в Symfony2 с Doctrine2 кажется, что Entity
- это объект, который используется для создания связи с базой данных.Поэтому я думаю, что все функции setName()
, setGender()
, getName()
& getGender()
должны находиться внутри файла, который находится в каталоге Entity
пакета (поскольку эти функции выполняют ОБНОВЛЕНИЕ или ВЫБОР данных из базы данных).
Но как насчет getDesignation()
?
public function getDesignation() {
if ($this->getGender() == 'Male') return "Mr. ".$this->getName();
else return "Ms. ".$this->getName();
}
Можно ли помещать функцию, которая не имеет абсолютно никакой связи с базой данных в сущности?Разве это не плохая практика?