Я работаю над (очень легким) CMS на Slim 3 для некоторых проектов, над которыми я работаю.Я борюсь с маршрутизацией.Может быть, кто-то здесь может подтолкнуть меня в правильном направлении.
Администратор может добавлять новые страницы веб-интерфейса в бэкэнд.При добавлении страница создает (автоматически) слаг.Есть пара страниц (например, страница указателя), которые нельзя удалить или отредактировать (сменить слаг)
Теперь я понятия не имею, как настроить маршрутизацию.
Примериз того, что я хочу:
www.example.com/
www.example.com/contact.html www.example.com/some-page.html
Мне удалось настроить маршрутный символ, но, чтобы сделать вещи более интересными, у меня есть также несколько маршрутов для бэкэнда:
www.example.com/backend/
www.example.com/backend/dashboard/
$app->get('/[{path:.*}]', function($request, $response, $path = null) { return $response->write($path ? 'subroute' : 'index'); });
$app->group('', function () {
$this->get('/backend/dashboard.html', 'BackendDashboardController:index')->setName('backend');
});
Как только я их реализую, я получаю следующую ошибку:
Static route "/backend/dashboard.html" is shadowed by previously defined variable route "/(.*)" for method "GET"
Будем очень благодарны за каждую подсказку.