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

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

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

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
26 апр. 2024, в 06:46
1500 руб./в час
26 апр. 2024, в 05:31
1000 руб./за проект