Я получил сообщение PHPMD, говорящее мне:
остальное никогда не нужно, и вы можете упростить код для работы без других
на этой части кода:
if ($settings == null) {
$settings = new self($arrSettings);
} else {
$settings->fill($arrSettings);
}
$settings->save();
return $settings;
Мой вопрос: как я должен избегать else (). Единственный способ, которым я вижу, — это дублирование $setting->save()
и вернуться.
Любая идея?
Вероятно, потому что это может быть переписано как
if ($settings === null) {
$settings = new self; // or new self([]);
}
$settings->fill($arrSettings);
$settings->save();
return $settings;
Но, TBH, все это выглядит как одно большое нарушение SRP, потому что экземпляры классов не должны быть в состоянии создать новые экземпляры самих себя. Это просто не имеет никакого смысла … но опять же, я не «ремесленник».
Других решений пока нет …