2012-02-29 79 views
2

我的同事将所有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

一类需要更长的时间来启动,则单个功能,但对于使用类与适当的可扩展性试验和经过测试的设计模式/ s类/ oop胜过程序,tho程序可以更容易理解早期的开发者,但那不是重点,顺便说一句,它不会混淆它的封装 – 2012-02-29 23:29:28

回答

1

方法隐藏功能是很好的做法,Code Complete解释得很好,为什么这样。

如果您想更改filterInt,例如添加上下限,如果你封装了它,你会更好。

  • 更少的代码线被改变
  • 容易测试针对
  • ..
0

对于只有一个像你的例子一样的方法,没有什么意义。

它开始有意义,如果您使用它将所有过滤器功能分组在这里,您可以有Filter::filterDeliveryAdress,然后,任何时候您必须过滤某些东西,您可能会记得您已经拥有此功能。所以如果你的过滤函数是不够准确的,你可以在类中修复它,使它在所有的代码中得到修复。

当然,这里的静态函数会更好,它更易于使用。

如果我认为这只是对相关函数进行分组并且使用PHP> = 5.3,那么命名空间会更合适。