Я использую Laravel 6.
Я создаю приложение, в котором есть Файлы (не файл, сохраненный на вашем рабочем столе или в хранилище). У меня есть модель файла, контроллер FileController и файлы в DB
с id, user_id
(как это принадлежит пользователю) и данные (которые являются столбцом JSON).
Для моего приложения файл можетиметь разные поля, основанные на юрисдикции, которые нужно захватывать (через формы на шаблонах блейдов) и управлять через контроллер (в основном через show, edit, update).
Вполне вероятно, что у меня много юрисдикций(представьте страну, штат и, возможно, город) версии Файлов с соответствующими полями, которые необходимо захватить, отобразить, изменить и т. д.
Во многих из этих Файлов, особенно если они находятся в одной стране,поля (столбцы / ключи), которые повторяются
В настоящее время у меня есть один контроллер, и когда дело доходит до редактирования файла, его отображения или обновления файла, у меня начинает появляться логика, которая определяет страну или состояние и модифицирует логику или представление.
Первоначально я думал, что сделаю что-то вроде этого
File - model
FileController - root controller
- @edit calls FileControllers/country/state/FileController@edit.php
- @show calls FileControllers/country/state/FileController@show.php
- @update will reference FileControllers/country/state/FileController@update
Files.view.blade - root view for Show
Files.edit.blade - root view for Edit
, но у меня есть ощущение, что это очень быстро выйдет из-под контроля, особенно если некоторые записи Файла имеют похожие поля, представления,типы данных, которые я буду захватывать. Не существует таких, которые бы действовали в разных юрисдикциях, поэтому я выбрал хранилище JSON в базе данных mysql.
Каковы некоторые способы динамического управления настройками такого типа с относительной простотой обслуживания, в долгосрочной перспективе? Я начинающий и начинающий разработчик.