Здравствуйте!
Пытаюсь написать простое приожение на php.
Замахнулся на то, что мне пока не позубам, но ведь учиться на сложных задачах интерестней чем на простых.
Почитал про MVC, посмотрел несколько примеров в сети. Идея понравилась и нравилась до тех пор пока не начал пытаться воспроизвести.
У меня простое приложение с календариком в котром отображаются разные KPI наших менджеров по продажам.
Пока всё просто. контроллер смотрит на $_GET и говорит виду какой вид показать (день,неделя, месяц, год).
Сложности начинаются когда начинаешь работать с моделью.
Если $_GET например ?month=11-2021
Нужно спросить у модели спиок пользователей работавших в ноябре 2011, Посчитать их показатели за каждый день вместе и по отдельности и понедельно так же посчитать и за весь месяц. А ещё сравнить кто лучше по какому показателю.
Потом всё это дать виду для вмеру симпатичного показа пользователю.
теперь я не представляю как всю эту кучу данных передавать в вид.
Вариант сделать в модели супер сложный массив с массивами в которых массивы с массивами... мне показался сложным и печальным
Вариант типа
public function report()
{
$month = date('m-Y');
if (isset($_GET['month']) {
$month = $_GET['month'];
}
$users = $this->model->getListUsers();
$kpi = $this->model->getKpiMonth($month);
// И так далее...
$this->view->getReportsTemplate($users, $kpi );
}
Такой вариант тоже не упростит работу с видом.
Временно пошёл по простому и как сам понимаю неправильному пути.
нарисовал вид (кстати то ещё приключение календарь нарисовать с учётом выходных и праздников)
Вид берёт напрямую из модели данные на каждый день и показывает пользователю.
Получилась длинная и практически нечитаемая партянка кода, с которой после бурных выходных уже сам не смогу разобраться.
А если вдруг мы решим добавить/убрать какой-то показатель KPI, то меня ждёт кромешный ад.
Подскажите как правильно организовываются такие штуки?