Rute bonus dalam statamic berbeda dari rute Laravel standar terutama dalam penggunaan yang dimaksudkan, integrasi dengan sistem konten Statamic, dan prioritas yang mereka miliki dalam resolusi perutean.
Rute bonus dalam statamic dirancang untuk menyederhanakan penambahan rute tambahan yang terkait dengan koleksi dan taksonomi tanpa URL hardcoding. Mereka memungkinkan pengembang untuk secara dinamis memasang dan mengambil data untuk rute seperti halaman arsip berbasis tanggal, koleksi yang difilter, atau URL taksonomi yang disesuaikan. Rute -rute ini didefinisikan menggunakan metode `rute :: bonus ()`, yang merupakan penolong khusus untuk merampingkan proses pengaturan tambahan, rute khusus di atas sistem Statamic. Rute bonus jenis dukungan seperti rute pengumpulan dan taksonomi, dan dapat untuk "tampilan" (entri atau istilah tertentu) atau "indeks" (daftar atau tidak spesifik). Misalnya, rute bonus dapat menambahkan halaman komentar terpisah di bawah posting blog atau membuat halaman arsip untuk blog demi tahun.
Sebaliknya, rute Laravel standar didefinisikan dengan cara khas menggunakan sistem perutean Laravel (mis., `Route :: get ()`, `Route :: Post ()`, dll.) Dan menangani routing aplikasi umum terlepas dari konteks konten statamic. Rute Laravel dapat berupa respons penutupan sederhana, tindakan pengontrol, atau integrasi dengan middleware dan fitur Laravel lainnya. Mereka mewakili mekanisme perutean fundamental yang fleksibel dari kerangka kerja Laravel itu sendiri.
Perbedaan utama yang terkait dengan prioritas adalah bahwa rute Laravel khusus, yang mencakup rute bonus karena pada akhirnya rute Laravel, diprioritaskan daripada sistem perutean Statamic sendiri. Jika rute bonus atau rute Laravel apa pun didefinisikan dengan URI yang sama dengan rute statamic, rute Laravel akan mengesampingkan rute statamic. Aspek prioritas ini berarti pengembang harus menghindari mendefinisikan rute bonus yang bertentangan langsung dengan rute statamic untuk mencegah penolakan yang tidak disengaja.
Sementara rute bonus terintegrasi erat dengan koleksi dan taksonomi Statamic, memfasilitasi pola URL berbasis konten dinamis, mereka tidak memodifikasi atau mengganggu perutean inheren Statamic. Mereka tetap rute Laravel di bawahnya tetapi dirancang untuk kasus penggunaan statamic. Selain itu, rute bonus mendukung caching bersama dengan rute Laravel lainnya, yang berarti perubahan perutean mungkin memerlukan penyegaran cache untuk berlaku.
Rute Laravel standar sangat fleksibel dan digunakan untuk logika rute di luar atau di samping statamic, termasuk rute API, pengalihan, dan kebutuhan aplikasi khusus. Rute statamic sendiri (didefinisikan melalui `route :: statamic ()`) menangani sebagian besar perutean CMS-sentris secara otomatis dengan menyuntikkan middleware, global, tata letak, dan mengambil entri konten atau istilah taksonomi berdasarkan logika statamic.
Singkatnya, rute bonus dalam statamic berfungsi sebagai lapisan rute Laravel yang ditingkatkan secara khusus memudahkan pengelolaan URL pengumpulan dan taksonomi, sementara rute Laravel standar memiliki prioritas dan fleksibilitas routing umum. Rute bonus harus dipetakan dengan hati -hati untuk menghindari bentrok dengan rute statamic yang ada karena rute Laravel mengesampingkan rute statamic secara default dalam prioritas perutean, memastikan pengembang dapat mengontrol rute mana yang merespons terlebih dahulu.
Hubungan yang bernuansa ini memungkinkan pengguna statamic untuk menggunakan rute bonus untuk memperluas struktur URL konten CMS dengan mudah saat jatuh kembali ke logika routing laravel konvensional sebaliknya. Saldo ini mempertahankan sihir routing yang digerakkan oleh konten Statamic tetapi menghormati prioritas keseluruhan dan kemampuan sistem perutean Laravel untuk kebutuhan dan timpangan khusus.