Я создаю свой первый более крупный проект с использованием доктрины, которую я сейчас люблю и ненавижу!
То, чего я не понимаю, так это то, что для субъекта вполне нормальнобыть в недопустимом состоянии?
Я имею в виду, конечно, вы можете использовать валидатор, чтобы проверить, является ли сущность действительной (например, перед сохранением), но разве это не было бы намного лучше, если бы это было просто не так?можно даже быть в недопустимом состоянии?
class Author
{
/**
* @Assert\NotBlank
*/
public $name;
}
ИМХО не должно быть возможности сделать:
$author = new Author();
, так как это приводит к недействительной сущности.Да, вы могли бы сделать это:
class Author
{
/**
* @Assert\NotBlank
* @var string
*/
public $name;
public function __construct( string $name )
{
$this->setName($name);
}
/**
* @param string $name
* @throws \Exception
*/
public function setName(string $name)
{
if($name ==''){
throw new \Exception('name must be set');
}
$this->name = $name;
}
}
Но тогда, для чего хорошо утверждение, верно?
Итак, я что-то здесь упускаю, или это просто так, как оно есть?