Мне нравится вот такой подход наименования методов.
Код: Выделить всё
class Client
{
private $id;
private $name;
private $surname ;
public function __construct($id, $name, $surname )
{
$this->id = (int)$id;
$this->name = $name;
$this->surname = $surname;
}
public function id()
{
return $this->id;
}
public function name()
{
return $this->name;
}
public function surname()
{
return $this->surname;
}
public function changeContactInfo($contactInfo)
{
$this->name = isset($contactInfo['name']) ? $contactInfo['name'] : null;
$this->surname = isset($contactInfo['surname ']) ? $contactInfo['surname '] : null;
}
}
Написание таких get методов видел в книге Carlos Buenosvinos PHP in DDD.
1) Кто что думает, на сколько это правильно? Возможно для вас вообще это не принципиально?
2) Где бы вы в этом примере кода (может где-то в другом месте), сделали проверку (бизнес правило) - имя пользователя и его фамилия должны иметь длину - максимум 255 символов.
3) Как вы относитесь к преобразованию типов данных из БД перед заполнением Entity в Repository ?
Код: Выделить всё
$client->id = (int)$dataSet['id'];