Предполагая, что мне нужно создать класс, который требует некоторого текста, обработать и вернуть его ... без зависимости, и это класс без гражданства.В чем разница между классом без сохранения и пустым конструктором и классом Static?
Я хотел бы знать, было бы лучше создать безгражданство класс без конструкторы или просто создать статический класс (в PHP это просто статические методы)
класса вроде этого:
class ClassName
{
public function processText($text)
{
// Some code
$text = $this->moreProcessing($text);
return $text;
}
protected function moreProcessing($text)
{
return $text;
}
}
и это:
class ClassName
{
public static function processText($text)
{
// Some code
$text = static::moreProcessing($text);
return $text;
}
protected static function moreProcessing($text)
{
return $text;
}
}
Я знаю, что зависимость инъекций в класс, где эти классы используются бы лучше, но предположим, что я просто не будет иметь зависимость инъекций ..
Мой вопрос заключается в основном это было бы лучше создать статический класс для простой пример выше?
Вопрос скорее в том, почему у вас будет класс без какого-либо состояния. Это не класс, это контейнер функций ... – EricSchaefer
Должен прочитать: http://r.je/static-methods-bad-practice.html – Yang
В чем разница между «защищенной статической функцией» и «защищенной функцией»? Ну, в статических методах нет никакого полиморфного поведения, и вот оно – Yang