Обработка URL Laravel из базы данных

1

В Laravel, как бы я обрабатывал маршрут, если он был создан динамически? То, что я пытаюсь сделать, - дать пользователю возможность создавать страницы на веб-сайте, поэтому скажите, что они хотели создать/о том, но это не указано в файле маршрутов, потому что они будут добавлять это через панель администратора. Я пытаюсь понять, как это сделать, чтобы получить полный URL-адрес, посмотреть, есть ли эта страница, которая уже существует в файле маршрута, если она не проверяет базу данных, чтобы узнать, существует ли это имя для и если он отображает содержимое с этой страницы.

Теги:
laravel-5
laravel-routing

1 ответ

4
Лучший ответ

Чтобы добиться динамической маршрутизации, вы можете сделать что-то вроде:

Route::get('/{pageName}', function($pageName) {
    // Do your logic here to determine if the page is in the database, or a file.
});

Взгляните на документацию Laravel по параметрам маршрутизации, чтобы узнать, что еще вы можете с ними сделать. По моему мнению, система маршрутизации Laravel очень чистая и чрезвычайно мощная.

Обновить

Один из способов сделать несколько маршрутов будет таким:

Route::get('/{pageName}/{subPage}', function($pageName, $subPage) {
    // Do your logic here to determine if the page is in the database, or a file.
});

Вы можете использовать гораздо более сложные структуры URL, используя регулярные выражения. Все это описано в приведенной выше ссылке.

  • 0
    Я бы сделал еще один шаг и сделал бы: Route::get('/{username}/{pageName}', function($username, $pageName) { или что-то для предотвращения коллизий .. Извините, я неправильно прочитал это как он хотел, чтобы разные пользователи в базе пользователей имели доступ для создания маршрутов.
  • 0
    @Blake Вы абсолютно могли бы, но это было бы до ОП и как они настраивают свою систему. Приведенный ответ показывает, как они могут использовать маршруты Laravel для динамических страниц в предельной простоте.
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню