@knowledge

Элегантное решение для проброса значений в функциях php?

Такой код
public function save (string $name, string $value = null) {
 if ($value)
  $this->saver->save($name, $value);
 else
  $this->saver->save($name);
}


Можно как-то элегантно избавится от if else в данном контексте?
  • Вопрос задан
  • 110 просмотров
Пригласить эксперта
Ответы на вопрос 2
Wolfnsex
@Wolfnsex Куратор тега PHP
Если не хочешь быть первым - не вставай в очередь!
Можно как-то элегантно избавится от if else в данном контексте?

Можно:
Заменить свой
if ($value)
  $this->saver->save($name, $value);
 else
  $this->saver->save($name);

на
$value ? $this->saver->save($name, $value) : $this->saver->save($name);
но как верно подметил г-н DevMan, - "огороды лучше не городить", т.к. код в первую очередь должен быть читаем и понятен, а уже после - "красив".

P.S. И, да, ещё один важный момент. В современных стандартах принято оборачивать тело циклов и условий в фигурные скобки, даже если оно состоит из одной строки...
Ответ написан
Комментировать
SerafimArts
@SerafimArts
Senior Notepad Reader
$this->saver->save(...array_filter([$name,  $value]));
Но это, кажется, вариант не лучше.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы