我想知道是否可以避免为Symfony 2实体使用getter和setter。虽然php app / console doctrine:generate:entities非常有用,但是对于有很多字段的实体来说,行代码似乎会增加很多
答案 0 :(得分:2)
您可以定义属性的可见性,从受保护的或私有到公开,以便您现在可以通过以下方式访问它们: / p>
// on entity
public $someProp;
// On your code
$someEntity->someProp = someValue;
这不是一个好的OOP练习,应该避免,如果你想要干净安全的代码,那么getter和setter就是你的选择。
答案 1 :(得分:1)
如果跳过getter和setter,您的代码将无法正常工作。 特别是如果你有不同实体的映射。
Doctrine使用getter nad setters在存储和获取信息期间填充各种成员字段
对Entity中的每个属性使用public非常糟糕。 而且,当doctinr在自动生成代码时使用proted时,你最终会浪费大量时间将属性更改为public