我对最佳做法有疑问。我注意到,对于表单验证,Symfony允许我使用Acme \ Bundle \ Resource \ config \ validation.yml,如下所示验证:
Acme\Bundle\Entity\School
properties:
zipCode:
- MinLength: 5
或者我也可以在类中使用Assertions。所以在Acme \ Bundle \ Entity \ School.php中它看起来像这样:
...
class School
{
...
/**
* @Assert\MinLength(limit="5", message="Zipcode too short")
*/
protected $zipCode;
...
}
哪一个更好的做法?或者只是偏好?
答案 0 :(得分:2)
这完全取决于你,这就是他们提供许多不同方式的原因。
不要忘记单个捆绑包只能使用一种类型。
答案 1 :(得分:2)
虽然Jessica认为两种方法都是最佳实践是正确的,但我发现使用@Assert
更方便,因为它将所有与实体相关的数据保存在实体中。
由于我不需要查找第二个文件(这是一项令人生畏的任务!),以后我需要更改或查阅该信息时会更容易。
但是,在YML中,它比注释更清晰,更容易阅读。