Rutele bonus în Statamic diferă de rutele Laravel standard în principal în utilizarea prevăzută, integrarea cu sistemul de conținut Statamic și prioritatea pe care o dețin în rezoluția de rutare.
Rutele bonus în Statamic sunt concepute pentru a simplifica adăugarea de rute suplimentare legate de colecții și taxonomii fără adrese URL de codificare. Acestea permit dezvoltatorilor să monteze și să recupereze dinamic date pentru rute precum pagini de arhivă bazate pe date, colecții filtrate sau adrese URL-uri personalizate de taxonomie. Aceste rute sunt definite folosind metoda `Route :: Bonus ()`, care este un ajutor specializat pentru a eficientiza procesul de configurare a unei ruturi suplimentare și personalizate pe partea de sus a sistemului Statamic. Tipurile de susținere a rutelor bonus, cum ar fi rutele de colectare și taxonomie și pot fi fie pentru vizualizări „Show” (intrare sau termen specific) sau „Index” (listare sau nespecifică). De exemplu, rutele bonus pot adăuga o pagină de comentarii separate sub o postare pe blog sau pot crea pagini de arhivă pentru un blog pe an.
În schimb, rutele Standard Laravel sunt definite în mod tipic folosind sistemul de rutare Laravel (de exemplu, `ruta :: get ()`, `ruta :: post ()`, etc.) și gestionează rutarea generală a aplicațiilor independente de contextul conținutului Statamic. Rutele Laravel pot fi răspunsuri simple de închidere, acțiuni de control sau integrări cu middleware și alte caracteristici Laravel. Ele reprezintă mecanismul de rutare flexibil, fundamental al cadrului Laravel.
O diferență cheie legată de prioritate este că rutele Laravel personalizate, care includ rute bonus, deoarece sunt în cele din urmă rute Laravel, iau prioritate față de propriul sistem de rutare Statamic. Dacă o rută bonus sau orice rută Laravel este definită cu același URI ca o rută statamică, ruta Laravel va trece peste ruta statamică. Acest aspect prioritar înseamnă că dezvoltatorii trebuie să evite definirea rutelor bonus care intră în conflict direct cu rutele statamice pentru a preveni înlocuirile neintenționate.
În timp ce rutele bonus se integrează îndeaproape cu colecțiile și taxonomiile Statamic, facilitând modelele URL dinamice bazate pe conținut, acestea nu modifică sau nu interferează cu rutarea inerentă a Statamic. Acestea rămân rutele Laravel de dedesubt, dar sunt adaptate pentru cazuri de utilizare statamică. În plus, rutele bonus acceptă memoria cache împreună cu alte rute Laravel, ceea ce înseamnă că modificările de rutare pot necesita reîmprospătarea cache -ului să intre în vigoare.
Rutele Standard Laravel sunt extrem de versatile și utilizate pentru orice logică de rută în afara sau alături de Statamic, inclusiv rute API, redirecții și orice nevoi de aplicație personalizate. Rutele statamice în sine (definite prin `ruta :: Stamam ()`) gestionează automat majoritatea rutelor centrate pe CMS, injectând middleware, globuri, machete și obținând intrări de conținut sau termeni de taxonomie bazate pe logica Stamic.
În rezumat, rutele bonus în Statamic servesc ca un strat îmbunătățit de rute Laravel, ușurând în mod specific gestionarea adreselor URL bazate pe colectare și taxonomie, în timp ce rutele Laravel standard dețin precedență și flexibilitate generală. Rutele bonus trebuie să fie mapate cu atenție pentru a evita ciocnirea cu rutele statamice existente, deoarece rutele Laravel înlocuiesc rutele statamice în mod implicit în prioritatea de rutare, asigurându -se că dezvoltatorii pot controla ce rute răspund mai întâi.
Această relație nuanțată permite utilizatorilor stamici să utilizeze rute bonus pentru extinderea structurilor URL de conținut CMS cu ușurință, în timp ce se referă la logica convențională de rutare Laravel, altfel. Acest echilibru menține magia de rutare bazată pe conținut Statamic, dar respectă prioritatea și capacitățile generale ale sistemului de rutare a Laravel pentru nevoile personalizate și înlocuirile.