0

Symfony2エンティティにゲッターとセッターを使用しないようにすることが可能かどうか知りたいのですが。php app / console doctrine:generate:entitiesは非常に役立ちますが、多くのフィールドを持つエンティティの場合、ラインコードは大幅に増加するようです。

4

2 に答える 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 に答える