Symfony2エンティティにゲッターとセッターを使用しないようにすることが可能かどうか知りたいのですが。php app / console doctrine:generate:entitiesは非常に役立ちますが、多くのフィールドを持つエンティティの場合、ラインコードは大幅に増加するようです。
質問する
928 次
2 に答える
2
プロパティの可視性を保護またはプライベートからパブリックに定義できるため、次の方法でプロパティにアクセスできます。
// on entity
public $someProp;
// On your code
$someEntity->someProp = someValue;
これは適切なOOPプラクティスではないため、避ける必要があります。クリーンで安全なコードが必要な場合は、ゲッターとセッターが最適です。
于 2013-01-15T20:19:09.120 に答える
1
ゲッターとセッターをスキップすると、コードが正しく機能しません。特に、異なるエンティティとのマッピングがある場合。
Doctrineは、情報の保存およびフェッチ中に、ゲッターとセッターを使用してさまざまなメンバーフィールドにデータを入力します
エンティティ内のすべてのプロパティにpublicを使用するのは非常に悪い習慣です。また、doctinrがコードを自動生成するときにprotedを使用するため、プロパティをpublicに変更するのに多くの時間を浪費することになります。
于 2013-01-16T07:29:18.427 に答える