Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon ¿Cómo difieren las rutas de bonificación en Statamic de las rutas de Laravel estándar en términos de prioridad?


¿Cómo difieren las rutas de bonificación en Statamic de las rutas de Laravel estándar en términos de prioridad?


Las rutas de bonificación en Statamic difieren de las rutas estándar de Laravel principalmente en su uso previsto, la integración con el sistema de contenido de Statamic y la prioridad que tienen en la resolución de enrutamiento.

Las rutas de bonificación en Statamic están diseñadas para simplificar la adición de rutas adicionales relacionadas con colecciones y taxonomías sin URL codificantes. Permiten a los desarrolladores montar y recuperar dinámicamente datos para rutas como páginas de archivo basadas en fechas, colecciones filtradas o URL de taxonomía personalizadas. Estas rutas se definen utilizando el método `Route :: Bonus ()`, que es un ayudante especializado para optimizar el proceso de configurar el enrutamiento adicional y personalizado sobre el sistema de Statamic. Las rutas de bonificación de soporte de tipos de soporte como las rutas de recolección y taxonomía, y pueden ser para "mostrar" (entrada o término específico) o "índice" (listado o no específico) vistas. Por ejemplo, las rutas de bonificación pueden agregar una página de comentarios separada en una publicación de blog o crear páginas de archivo para un blog por año.

Por el contrario, las rutas estándar de Laravel se definen de la manera típica utilizando el sistema de enrutamiento de Laravel (por ejemplo, `ruta :: get ()`, `ruta :: post ()`, etc.) y manejar la enrutamiento de la aplicación general independiente del contexto de contenido de Statamic. Las rutas de Laravel pueden ser respuestas de cierre simples, acciones del controlador o integraciones con el middleware y otras características de Laravel. Representan el mecanismo de enrutamiento flexible y fundamental del marco de Laravel en sí.

Una diferencia clave relacionada con la prioridad es que las rutas de Laravel personalizadas, que incluyen rutas de bonificación, ya que, en última instancia, son rutas de Laravel, tienen prioridad sobre el propio sistema de enrutamiento de Statamic. Si una ruta de bonificación o alguna ruta de Laravel se define con la misma URI que una ruta estatámica, la ruta Laravel anulará la ruta estatámica. Este aspecto prioritario significa que los desarrolladores deben evitar definir rutas de bonificación que entran en conflicto directamente con las rutas estatámicas para evitar anulaciones involuntarias.

Si bien las rutas de bonificación se integran estrechamente con las colecciones y taxonomías de Statamic, facilitando los patrones de URL basados ​​en contenido dinámico, no modifican ni interfieren con el enrutamiento inherente de Statamic. Permanecen rutas de Laravel debajo, pero están adaptadas para casos de uso estatámico. Además, las rutas de bonificación admiten almacenamiento en caché junto con otras rutas de Laravel, lo que significa que los cambios en el enrutamiento pueden requerir que las actualizaciones de caché entren en vigencia.

Las rutas estándar de Laravel son altamente versátiles y se usan para cualquier lógica de ruta fuera o junto con Statamic, incluidas las rutas API, redireccionamientos y cualquier necesidad de aplicación personalizada. Las rutas estatámicas en sí mismas (definidas a través de `ruta :: statamic ()`) manejan la mayoría de los enrutamientos centrados en CMS automáticamente mediante la inyección de middleware, globales, diseños y obteniendo entradas de contenido o términos de taxonomía basados ​​en la lógica de Statamic.

En resumen, las rutas de bonificación en Statamic sirven como una capa mejorada de rutas de Laravel que alivian específicamente la gestión de las URL basadas en la recolección y la taxonomía, mientras que las rutas de laravel estándar tienen precedencia y flexibilidad de la ruta general. Las rutas de bonificación deben mapear cuidadosamente para evitar el enfrentamiento con las rutas estatámicas existentes, ya que las rutas de Laravel anulan las rutas estatámicas de forma predeterminada en la prioridad de enrutamiento, asegurando que los desarrolladores puedan controlar qué rutas responden primero.

Esta relación matizada permite a los usuarios estatámicos usar rutas de bonificación para extender fácilmente las estructuras de URL de contenido de CMS mientras recurre a la lógica de enrutamiento de Laravel convencional de lo contrario. Este equilibrio mantiene la magia de enrutamiento de contenido de Statamic, pero respeta la prioridad general y las capacidades del sistema de enrutamiento de Laravel para necesidades y anulaciones personalizadas.