Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Чем бонусные маршруты в Statamic отличаются от стандартных маршрутов Laravel с точки зрения приоритета


Чем бонусные маршруты в Statamic отличаются от стандартных маршрутов Laravel с точки зрения приоритета


Основываясь на результатах поиска, ключевые различия между «бонусными маршрутами» Statamic и стандартными маршрутами Laravel с точки зрения приоритета заключаются в следующем:

1. Приоритет маршрутов. Результаты поиска показывают, что пользовательские маршруты Laravel имеют приоритет над маршрутами Statamic. Это означает, что если вы определите бонусный маршрут, который конфликтует с маршрутом Statamic, маршрут Laravel будет иметь приоритет и переопределить маршрут Statamic.

Как указано в документации дополнения «Бонусные маршруты»: «Если вы определите бонусный маршрут, аналогичный маршруту Statamic, он будет переопределять Statamic. Этого следует избегать, лучше всего использовать маршрутизацию Statamic везде, где это возможно».

2. Обработка маршрутизации в Statamic: Statamic предоставляет собственный метод Route::statamic() для управления маршрутизацией на основе содержимого, например, для записей коллекций и терминов таксономии. Эти маршруты, специфичные для Statamic, обрабатываются отдельно от стандартных маршрутов Laravel.[5]

3. Исключение из обработки маршрутов Laravel. Чтобы гарантировать, что маршрутам Statamic, включая маршруты панели управления, присвоен правильный приоритет, вам необходимо исключить их из обработки маршрутов Laravel. Это делается путем добавления специального промежуточного программного обеспечения и обработки префиксов в RouteServiceProvider.[2]

4. Дополнение «Бонусные маршруты»: дополнение «Бонусные маршруты» для Statamic упрощает процесс определения дополнительных маршрутов на основе сбора и таксономии. Тем не менее, он по-прежнему подчеркивает, что пользовательские маршруты Laravel имеют приоритет над этими бонусными маршрутами.[1]

Таким образом, хотя Statamic предоставляет свои собственные механизмы маршрутизации, пользовательские маршруты Laravel всегда будут иметь приоритет над маршрутами Statamic. Чтобы обеспечить правильную интеграцию и расстановку приоритетов, вам необходимо тщательно управлять исключением маршрутов Statamic из обработки маршрутов Laravel и помнить о любых потенциальных конфликтах между вашими пользовательскими маршрутами Laravel и маршрутами Statamic.

Цитаты:
[1] https://statamic.com/addons/jacksleight/bonus-routes
[2] https://statamic.dev/controllers
[3] https://laracasts.com/discuss/channels/laravel/routes-priority
[4] https://laracasts.com/discuss/channels/laravel/is-it-possible-to-prioritize-a-packages-routes
[5] https://statamic.dev/routing