Два метода или один с условием?

Постоянно встречаюсь с задачей вытягивать из БД данные того или иного объекта. Причем как правило вытягивать их надо или по ID, или по имени (оба ключа уникальны).
Вопрос - создавать в классе менеджера материалов два метода getById и getByName или создать один get($key), в котором проверять, $key - это int или string, и соответственно менять where clause на id=$key или name=$key?
Так как кроме этого поля оба метода вышли бы идентичными.
  • Вопрос задан
  • 193 просмотра
Решения вопроса 1
Я бы не ориентировался на тип, если в будущем понадобится вытаскивать данные по другому полю с таким же типом - ваша логика рухнет, и будет у вас метод get(), который работает только с id и name, но не работает с другими полями.

Как вариант, можно сделать метод get($field_name, $value)
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
miraage
@miraage
Старый прогер
getBy($field, $value);
Ответ написан
65536
@65536
2
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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