在 Silex 框架中验证实体的最接受方法


most accepted methods to validate an entity in silex framework

我想验证一个实体,但不知道这样做的最佳位置。我将验证代码放在 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) {
   ...
  }
}
?>

从技术上讲,有很多方法,但我正在寻找的是传统的方法,即这个问题的设计模式。

如果你想保持轻松,一种解决方案可能是使用静态loadValidatorMetadata方法。您可以在此处阅读更多内容。