Сеттер в конструкторе? Адекватная ли конструкция:
Показан кусок кода из модели новостей, в конструктор приходит базовая модель. Базовая модель, так же как и модель новостей, имплементирует ModelInterface.public function __construct(ModelInterface $model) {
$this->setTable('news');
$this->model = $model;
}
private function setTable($table) {
$this->table = BaseModel::PREFIX . $table;
}
Устанавливаю рабочую таблицу в конструкторе, и дальше использую ее в запросах

21 Авг 2019 в 07:03
183 +1
0
Ответы
1

Да, данная конструкция в целом адекватна. Однако, следует учитывать, что использование сеттера в конструкторе может быть не самым лучшим подходом, поскольку сеттеры обычно предназначены для внешнего изменения свойств объекта. В данном случае, если установка таблицы является обязательной частью инициализации объекта, то, возможно, имеет смысл использовать сразу в конструкторе нетривиальную логику установки значения таблицы.

Также важно убедиться, что метод setTable() не используется за пределами данного класса, чтобы избежать нежелательных побочных эффектов. Кроме того, рекомендуется документировать эту логику в комментариях, чтобы другие разработчики могли понять, зачем таблица устанавливается именно таким образом.

20 Апр в 13:08
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 84 134 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир