Simba, Понял. То есть ему главная не нужна и ничего нужного там нет. Это главное
Ну и тогда ещё вопрос. Я вижу, что тут мы принимаем данные пользователя
return static function (RouteCollector $map, User $user)
Но моя задача состоит в том, чтобы показывать другую главную если у менеджера есть клуб. То есть к массиву $user мне нужно добавить получение ещё кое-какой информации. Где это смотреть? Где запрос? Ну было бы проще один SQL поменять, чем в этой функции второй делать.
Hat-Trick, там дергается объект юзера из контейнера. (там обычный SELECT * FROM `users` WHERE `id` = ' . $userId) Это используется везде, по этому утяжелять это место не стоит. Лучше сделай отдельный запрос или что там тебе нужно)
Simba, А где получается передаются данные в эту функцию? То есть где мне писать запрос на получение данных и передачу их в эту функцию?
Hat-Trick, в идеале конечно тебе всё же надо копирнуть модуль главной и добавить там редирект. В нем уже писать условия при которых будет редирект срабатывать. Т.к. если там что-то достаточно тяжелое, то в роутере оно будет выполняться вне зависимости от того что запросили (на форуме, в гостевой и везде). А так если в модуле будет проверка то будет срабатывать только при запросе главной.
Ну если хочешь всё таки без редиректа, то можешь прям там сделать запрос и условие проставить. получи объект БД как обычно с помощью функции di() и используй его. Он там будет тоже работать
Simba, по сути мне придётся делать так в routes.php?
return static function (RouteCollector $map, User $user) {
$db = di(PDO::class);
$count = $db->query("запрос")->fetchColumn();
здесь всякая херня
}
Hat-Trick, ага. Решение так себе ) Конфиг роута будет какой-то перегруженный логикой)
Simba, Лучше чем редирект. Я так сделал, работает.
Но ещё лучше будет запрос на получение данных пользователя усложнить. Добавить выборку ещё из одной таблицы. Это будет нужно на сайте всегда. Так что говори где этот файлик
Hat-Trick, system/src/System/Users/UserFactory.php
Добавлено: 05.12.2020 / 22:06
Simba, Спасибо. Поменял как надо
Добавлено: 12.03.2021 / 15:11
в двиге есть переменная $sysconf['timeshift']
она нужна мне в функции, чтобы её там использовать, надо её передать в аргументах, а можно использовать global получается? Это плохо или норм?
Hat-Trick, global всегда плохо. Передавай аргументом.