我想验证一个实体,但不知道执行此操作的最佳位置。我将验证代码放在 setter 方法中。如果我选择Symfony\Component\Validator
验证,如何访问验证器服务?据我所知,这意味着对服务存在依赖性。
$app['validator']->validateValue($title, new Assert\NotBlank());
而且我认为向实体类注入依赖不是一个好方法,对吧?如果是这样,您如何进行此验证?
<?php
// AnExample/Entity/Book.php
namespace AnExample;
class Book
{
private $isbn;
private $title; // at leats 3 letters
public function __set($name, $value) {
...
}
public function __get($name) {
...
}
}
?>
从技术上讲,有很多方法,但我正在寻找的是传统的方法,一种解决这个问题的设计模式。