【发布时间】:2011-10-09 01:02:40
【问题描述】:
我有一个包含 18 个属性的记录类。
在将该类提交到数据库之前,所有 18 个属性都必须具有经过验证的数据。
因为我正在 OOP 化一个工作的过程 web 应用程序,所以我进行了这种倒退。
首先,我介绍了修改现有记录的工作流程。当时,将所有 18 个属性都放入 __construct 方法并避免大量的 setter 是有意义的。一个单独的loader 类处理 dbase 业务,可以返回单个对象或记录对象数组。一切正常。
但是是时候解决新的记录创建工作流了,突然我需要实例化一个空记录,除了我的记录构造函数是一个需要 18 个参数的饥饿野兽... p>
...所以你剥离了构造函数?但是,每次我想使用现有记录时,我都必须添加 18 个 setter 并调用它们...
似乎没有太大的改进! :-/
真正的程序员如何处理这个问题? (我只是个小爱好者……)
【问题讨论】:
-
如果你使用魔法方法,你不需要 18 个不同的 setter。您甚至可以拥有一个空对象,并在您想要设置全部或一次设置一些属性时保持它非常整洁。看看我的回答,并根据需要进行扩展。
标签: php oop class constructor