我的一位同事喜欢封装类后面的所有PHP函数。他的理由似乎是,如果它在一个类中,如果它们更新代码就会更容易改变。在查看他的代码后我的担心是我不知道可能发生什么,或者为什么事情可能会出错。此外,如果它是在课堂形式,我更喜欢静态功能,因为在我看来,这将是更好的练习。
例如,而不是:
$var = filter_var('0755', FILTER_VALIDATE_INT);
他会:
class Filter {
public function filterInt($var) {
return filter_var($var, FILTER_VALIDATE_INT);
}
}
$filter = new Filter();
$var = $filter->filterInt('0755');
哪种方式更好的做法?更好的长期表现?更好理解?
答案 0 :(得分:1)
隐藏方法中的功能是一种很好的做法,Code Complete很好地解释了,为什么会这样。
如果您想更改filterInt
,例如添加上限和下限,如果你已经封装它,你会更好。
答案 1 :(得分:0)
对于只有一个方法,例如你的例子,它没有多大意义。
如果您使用它来对所有过滤器功能进行分组,那么您可以拥有Filter::filterDeliveryAdress
,然后,只要您必须过滤掉您可能已经记住的某些功能,就可以开始有意义了。因此,如果过滤函数的示例不够准确,您可以在类中修复它以在所有代码中修复它。
当然这里的静态功能会更好,它更容易使用。
如果我认为它仅用于分组相关功能和使用PHP> = 5.3,那么命名空间会更合适。