@driverx18

На сколько плох данный подход?

Есть у меня реализация эндпоинта, в нем есть методы get/post/put/delete. Например, мне нужна работа с redis только в GET методе этого эндпоинта. Сейчас это реализовано у меня так:
// внутри метода get
$redis = new RedisInstance();
$this->checkNeededNames($redis);
//

мне кажется, что я делаю тут вроде как неправильно, поскольку $redis я передаю параметром в метод. Но и делать свойство в классе типо private $redis; я не стал, по той причине, что мне в методах put/delete/post не нужно будет обращаться.
На сколько плох мой подход, что я передаю $redis параметром в метод?
  • Вопрос задан
  • 111 просмотров
Решения вопроса 1
VicTHOR
@VicTHOR
(╮°-°)╮┳━━┳ ( ╯°□°)╯ ┻━━┻
На сколько плох мой подход, что я передаю $redis параметром в метод?
Это называется Dependency Injection и так реализуется композиция, это очень хорошо, т.к. работают принципы ООП - метод не знает ничего об объекте, объекты могут быть различные, что расширяет возможности.
Другое дело - как именно работает этот метод, какой тип данных он может принять - вот о чем стоит подумать.
Стоит передавать объект определенного интерфейса. Сегодня под него подходит и используется redis, завтра что-то другое... Или не нужно это все? Тут надо смотреть на проект, если вернуться к вопросу:

На сколько плохо передавать объект параметром в метод?
Абсолютно не плохо.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы