Loading...
PHP/MySQL | Вопрос по хранению Route
Собственно , храню роуты в конфинге куда в ручную записываю.

'forgot' => [
'controller' => 'index', /// Контроллер
'action' => 'forgot', // Экшен
'type' => 'unuser' // Уровень доступа для гостей / пользователя
],
'forgot/{token:w+}' => [
'controller' => 'index',
'action' => 'forgot',
'type' => 'unuser'
],

Вопрос заключается вот в чем.
у меня роут не будет работать с пагинацией или токеном , ид и прочее пока не установишь регулярку
Так как выглядит вот так
'forgot' => [] вот так работает сама страница, но токен не будет работать
если добавить дополнительный маршрут
'forgot/{token:w+}' => [] вот так будет токен работать но сама страница нет.
По этому я создаю дополнительный маршрут.
Выходит чтоб работало нужно создавать два маршрута на разные действия.
Тогда заработает и токен , и сама обычная ссылка.
Выходит я создаю два маршрута для одной страницы

'forgot' => [] что бы работала сама страница
'forgot/{token:w+}' => [] чтоб можно было через гет определить токен.
Собственно , данный вариант нормальный ?
Так как гибкости добавляет по сути, но при этом будет 3 одинаковых маршрута но с регулярками условными.
Блин можнт криво расписал.



Допустим чат.
Чтоб открыть чат нужно написать
Но при этом не будет работать пагинация.

'/chat' => [
'controller' => 'chat',
'action' => 'index',
'type' => 'user'
],

чтоб работала пагинация , нужно добавить еще маршрут

'/chat/{page:w+}' => [
'controller' => 'chat',
'action' => 'index',
'type' => 'user'
],


В итоге чтоб работала сама страница, и пагинация я записываю два маршрута

'/chat' => [
'controller' => 'chat',
'action' => 'index',
'type' => 'user'
],
'/chat/{page:w+}' => [
'controller' => 'chat',
'action' => 'index',
'type' => 'user'
],


Теперь чтоб использовать пагинацию, мне нужно в пагинации хранить не в гет, не в пост. а вывести роут
$this->route['page'];

Так вот вопрос, что на счет нагрузки ? И стоит ли так делать ?
Гибкость настройки получается резиновой
________
посл. ред. 09.01.2019 в 05:36; всего 3 раз(а); by Trec80
это делается не так, писал же уже - смотрите профессиональный курс по ООП

Ответ на вопрос
Не знаю как там в твой роут перевести, но обычными регуляркам можно так сделать

page/([0-9]{1,5})?

Будет срабатывать /page/ и /page/10/
________
посл. ред. 09.01.2019 в 09:30; всего 1 раз(а); by Dark_AKC
Можно не доьавлять в роутер строку с пагинацией, вместо этого использовать просто /?page=5
PhpStorm (09.01.2019 в 07:27)
это делается не так, писал же уже - смотрите профессиональный курс по ООП

Ответ на вопрос

Если там проф.курс ООП то я балерина.
Опять же скажу, у каждого своя реализация, я спросил лишь про нагрузку
Trec80 (09.01.2019 в 20:17)
PhpStorm (09.01.2019 в 07:27)
это делается не так, писал же уже - смотрите профессиональный курс по ООП

Ответ на вопрос

Если там проф.курс ООП то я балерина.
Опять же скажу, у каждого своя реализация, я спросил лишь про нагрузку


да, единственный профессиональный курс по ООП в тюбике, посмотри, чтобы не пороть отсебятину и не заставлять людей сочинять велик вместе с тобой
________
посл. ред. 10.01.2019 в 01:00; всего 1 раз(а); by PhpStorm
Онлайн: 2
Время:
Gen. 0.1074
(c) Bym.Guru 2010-2025