Функции против статических методов

У меня есть несколько функций, связанных с куки-файлами. Было бы ужасной идеей группировать их, переместив их в собственный класс и использовать в качестве статических методов?

Функции:

function cookie_get(){} function cookie_set(){} function cookie_delete(){} 

Статические методы:

 class cookie { static function get(){} static function set(){} static function delete(){} } 

Да, это было бы ужасной идеей, потому что статические методы трудно тестировать и макетировать . Почему бы просто не создать настоящий класс Cookie, который можно настроить во время выполнения с помощью этих методов в качестве обычных методов.

Если вы просто хотите сгруппировать эти функции в пакет, вы можете просто использовать пространство имен .


Изменить : поскольку вы внесли это в комментарии: да, для любых целей тестирования регулярные функции являются такими же неустойчивыми, как и для статистики. Таким образом, ваша первоначальная ситуация «ужасна», как изменение ее для использования статического класса. Даже псевдопространство не дает вам никаких преимуществ, потому что вы уже применили это к своим обычным функциям. cookie_get так же хорош или плох, как Cookie::get .

Это была бы отличная идея, если бы вы полностью знали о связанных с этим мерах . Это называется Утилита :

Хорошими кандидатами для классов полезности являются удобные методы, которые можно сгруппировать вместе функционально.

На самом деле хорошей практикой является организация таких функций. Современной альтернативой было бы использование пространства имен .

Это был бы отличный способ организовать ваш код, но зачем использовать статические функции, просто создайте класс для требуемой функциональности.

Или, как сказано выше, используйте пространства имен, но я не особенно знаком с их плюсами и минусами.

$cookie->get() лучше работать, чем cookie_get() на мой взгляд