@zhenya31

Какие есть способы хранить редко меняющиеся данные разных типов в Laravel?

Разрабатываю сайт на Laravel.
Есть различные данные, которые используются во многих местах. Например номер телефона компании, или какой-то массив.
Изредка эти данные нужно будет менять.
Где это все хранить?
Какой способ считается самым оптимальным в Laravel?
  • Вопрос задан
  • 240 просмотров
Пригласить эксперта
Ответы на вопрос 4
JhaoDa
@JhaoDa
LaravelRUS Team
Если редко это раз в год или есть то, кто может это сделать:
  • .env
  • Конфиги

Если чаще или жалко платить тому, кто может это делать:
  • json/yml/ini-файл где-нибудь в storage/app
  • таблица в БД (json(b)-поле в случае Postgresql)
  • любое другое хранилище

+ и минимальная обвязка для редактирования
Ответ написан
Комментировать
Dase23
@Dase23
back-end developer
Не поверишь)

В Бд) массив конечно лучше не хард кодить, а собирать из той же бд.

Но если уж очень приперло, навали в redis
Ответ написан
Комментировать
Alex_Wells
@Alex_Wells
PHP/Kotlin
Имхо:

- какие-то технические переменные, либо те, которые заказчик не пожелал редактировать просто и удобно (ну, меняет он их раз в год - можно и программиста попросить) - как сказал JhaoDa - в .env и конфиги.
- нетехнические переменные, либо те, которые заказчик пожелал редактировать просто и удобно - в hocon/toml/yaml (или подобные им языки) файлы. Все они имеют синтаксис, с которым справится заказчик, а так же готовые парсеры. Совсем уж утопия - автоматически мапить их в обьекты языка разработки, с помощью каких-то аннотаций или других указаний.
Ответ написан
Комментировать
@jazzus
Что касается телефона компании или какого-то массива.
Создаешь файл company.php в папке config
Прописываешь там
/*
    |--------------------------------------------------------------------------
    | Телефон
    |--------------------------------------------------------------------------
    */
    'phone' => 5555555,
    /*
    |--------------------------------------------------------------------------
    | массив данных
    |--------------------------------------------------------------------------
    */
    'array' => [
        'title' => value,
        'title2' => value2,
    ],

Получаешь данные в контроллере
$phone = config('company.phone');
$array = config('company.array');
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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