【问题标题】:Symfony 2 getters and settersSymfony 2 的 getter 和 setter
【发布时间】:2013-01-15 20:07:53
【问题描述】:

我想知道是否可以避免对 Symfony 2 实体使用 getter 和 setter。虽然 php app/console 学说:generate:entities 很有帮助,但是对于一个字段很多的实体来说,行代码似乎增加了很多

【问题讨论】:

  • Doctrine 不能正确处理公共属性,因为它不能对它们进行延迟加载。

标签: symfony


【解决方案1】:

您可以将属性的可见性从 protectedprivate 定义为 public,以便您现在可以通过以下方式访问它们:

// on entity
public $someProp;

// On your code
$someEntity->someProp = someValue;

这不是一个好的 OOP 实践,应该避免,如果你想要干净和安全的代码,getter 和 setter 是一种选择。

【讨论】:

    【解决方案2】:

    如果跳过 getter 和 setter,您的代码将无法正常工作。 尤其是当您使用不同的实体进行映射时。

    Doctrine 在存储和获取信息期间使用 getter 和 setter 填充各种成员字段

    对 Entity 中的每个属性都使用 public 是非常糟糕的做法。 而且你最终会浪费大量时间将属性更改为公共,因为 doctinr 在自动生成代码时使用 proted

    【讨论】:

      猜你喜欢
      • 2017-12-07
      • 1970-01-01
      • 2014-05-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-17
      • 2016-02-24
      • 2017-09-07
      相关资源
      最近更新 更多