, Factory. , ( POST) User. User ( ). / , ( ).
class UserFactory
{
private $_em;
function __construct(EntityManager $em) {
$this->_em = $em;
}
function createUserFromArray($data) {
$user = new User();
$user->setUsername($data['username']);
$user->setEmail($data['email']);
$this->_em->persist($user);
$this->_em->flush();
return $user;
}
}
, , :
$userFactory = new UserFactory($em);
$user = $userFactory->createFromArray($dataFromForm);
.
-, getters ( ), , .
User:
function setEmail($email) {
if (!is_valid_email($email)) {
throw new Exception('Invalid Email');
}
$this->email = $email;
}
-, , , , - . , / Model/Entity.
class User
{
function ensureUniqueEmail()
{
}
}