我有一个名为Component的类,它是许多其他类型组件的基类(例如,Text,Image ...),看起来像这样:
function __construct($data) {...}
abstract public function build();
...other methods, getters and setters
使用这些组件的方式如下:
目前,我通过最终用户发送给我的JSON对象获取每个组件的设置...所以我想做的是构建一个验证器/清理器来帮助我完成上面的第2部分。 / p>
所有验证代码都已经通过其getter和setter存在于每个组件中,理想情况下我想做的是尝试使用用户提供的设置创建一个组件,看看是否有任何错误。
唯一的问题是,每个组件都需要初始化数据 - 因为许多其他内部函数需要设置数据。
我想过几种方法可以解决这个问题(见下文),但我不是其中任何一个的粉丝。所以我想了解如何解决这个问题。
答案 0 :(得分:1)
假设我明白你要做什么,这就是我可能会做的事情。
在您的对象上创建一个静态方法,该方法将验证一次调用中的所有组件设置。这个静态方法可以实例化一个虚拟对象(有点像你说的那样),然后使用已经内置到getter和setter中的验证。然后可以抛弃此对象,如果验证通过,静态方法可能会返回某种断言。如果只是返回一个布尔值是不够的,你可以让static方法返回一些排序错误数组。