我有一些处理cookie的函数.通过将它们移动到自己的类并将它们用作静态方法来分组它们会是一个可怕的想法吗?
功能:
function cookie_get(){}
function cookie_set(){}
function cookie_delete(){}
Run Code Online (Sandbox Code Playgroud)
静态方法:
class cookie
{
static function get(){}
static function set(){}
static function delete(){}
}
Run Code Online (Sandbox Code Playgroud)
是的,这将是一个可怕的想法,因为静态方法很难测试和模拟.为什么不创建一个真正的Cookie类,您可以在运行时使用这些方法作为常规方法进行配置.
如果您只想将这些函数分组到一个包中,您也可以使用命名空间.
编辑:因为你在评论中提出了它:是的,对于任何测试目的,常规函数与静态函数一样不可测试.所以你的初始情况就像改变它使用静态类一样"可怕".即使伪命名空间也没有给你任何好处,因为你已经将它应用到常规函数中.cookie_get
是好还是坏Cookie::get
.