Задать вопрос
@daMage

Как обращаться к константам моделей из контроллеров?

В базе с изображениями есть параметр space, который отвечает за состояние той или иной картинки, будь то sandbox или "active". Эти состояния представлены в виде чисел, а модель хранит константы для удобства. Есть также метод getImages($space), который возвращает нужные данные. Каким образом передавать этот параметр из контроллера(модели и контроллеры в разных namespace'ах)? Есть несколько вариантов

// по полному имени
$model->getImages(\Models\Image::SPACE_SANDBOX)

// через переменную
$model->getImages($model::SPACE_SANDBOX)

// обьявить константу через define
$model->getImages(IMAGE_SPACE_SANDBOX)

Но не один не нравится. Где-то слышал, что константы в моделях нехорошо, мол усложняется задача тестирования.
  • Вопрос задан
  • 152 просмотра
Подписаться 2 Оценить Комментировать
Решения вопроса 1
MegaMufa
@MegaMufa
Я обычно использую первый вариант. В принципе во втором не вижу ничего плохого, но мне больше первый нравится. А вот третий - плохо. Зачем загрязнять глобальное пространство?

Константы в моделях размещать нормально. Не представляю, как это может усложнить тестирование. ПО сути их можно рассматривать как обычные статичные свойства класса, но которые нельзя изменять.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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