Бонусные маршруты в Statamic отличаются от стандартных маршрутов Laravel, в первую очередь, в их предполагаемом использовании, интеграции с системой контента Statamic и приоритетом, который они удерживают при разрешении маршрутизации.
Бонусные маршруты в Statamic предназначены для упрощения добавления дополнительных маршрутов, связанных с коллекциями и таксономиями без жестких URL -адресов. Они позволяют разработчикам динамически устанавливать и извлекать данные для таких маршрутов, как архивные страницы на основе даты, отфильтрованные коллекции или индивидуальные URL-адреса таксономии. Эти маршруты определяются с использованием метода `route :: bonus ()`, который является специализированным помощником для оптимизации процесса настройки дополнительной пользовательской маршрутизации поверх системы Statamic. Бонусные маршруты, такие как типы поддержки, такие маршруты сбора и таксономии, и могут быть предназначены для «показа» (конкретная запись или термин) или «индекс» (листинг или неспецифические) представления. Например, бонусные маршруты могут добавить отдельную страницу комментариев в сообщение в блоге или создавать страницы архива для блога к году.
Напротив, стандартные маршруты Laravel определяются типичным способом с использованием системы маршрутизации Laravel (например, `route :: get ()`, `route :: post ()` и т. Д.) И обрабатывать общую маршрутизацию приложений независимо от контекста контента Statamic. Маршруты Laravel могут быть простыми ответами на закрытие, действиями контроллера или интеграцией с промежуточным программным обеспечением и другими функциями Laravel. Они представляют гибкий, фундаментальный механизм маршрутизации самой структуры Laravel.
Ключевое отличие, связанное с приоритетом, заключается в том, что пользовательские маршруты Laravel, которые включают бонусные маршруты, поскольку они в конечном итоге являются маршрутами Laravel, приоритетными для собственной системы маршрутизации Statamic. Если бонусный маршрут или какой -либо маршрут Laravel определяются с тем же URI, что и Statamic маршрут, маршрут Laravel будет переопределять статитимный маршрут. Этот приоритетный аспект означает, что разработчики должны избегать определения бонусных маршрутов, которые напрямую конфликтуют со стати автоматическими маршрутами, чтобы предотвратить непреднамеренные переопределения.
В то время как бонусные маршруты тесно связаны с коллекциями Statamic и таксономиями, облегчая динамические модели URL-адреса на основе контента, они не изменяют и не мешают неотъемлемой маршрутизации Statamic. Они остаются маршрутами Laravel внизу, но адаптированы для стационарных вариантов использования. Кроме того, бонусные маршруты поддерживают кэширование наряду с другими маршрутами Laravel, что означает, что изменения маршрутизации могут потребовать от обновления кэша вступить в силу.
Стандартные маршруты Laravel очень универсальны и используются для любой логики маршрута снаружи или наряду со статипамической, включая маршруты API, перенаправления и любые пользовательские потребности в применении. Статимические маршруты сами (определяются через `route :: statamic ()`) обрабатывают большую часть маршрутизации, ориентированной на CMS, автоматически путем инъекции промежуточного программного обеспечения, глобалов, макетов и получения записей контента или терминов таксономии на основе логики Statamic.
Таким образом, бонусные маршруты в Statamic служат расширенным уровням маршрутов Laravel, специально ослабляющих управление URL-адресами сбора и таксономии, в то время как стандартные маршруты Laravel имеют общий приоритет маршрутизации и гибкость. Бонусные маршруты должны быть тщательно отображены, чтобы избежать столкновения с существующими статинамическими маршрутами, поскольку маршруты Laravel маршруты по умолчанию переопределяют статитамические маршруты при приоритете маршрутизации, что обеспечивает разработчики, какие маршруты отвечают в первую очередь.
Это нюансированное соотношение позволяет пользователям статиматического использования использования бонусных маршрутов для легкого расширения конструкций CMS Content Content, в противном случае, возвращаясь к обычной логике маршрутизации Laravel. Этот баланс поддерживает магию маршрутизации Statamic, но уважает общий приоритет и возможности системы маршрутизации Laravel для пользовательских потребностей и переопределения.