Hvordan du gjør laravel underdomeneruting

Hvordan du gjør laravel underdomeneruting
Ruting av underdomen er det samme som rutingprefiksering, men den er scoped av underdomenet i stedet for ruteprefiks. Det er to primære bruksområder for dette. Først kan det være lurt å presentere forskjellige deler av applikasjonen (eller helt forskjellige applikasjoner) til forskjellige underdomener. Følgende eksempel viser deg hvordan du gjør dette: Rute :: Group (['Domain' => 'API.Laravel-Recipes.com '], funksjon ()
Rute :: get ('/', funksjon ()
//
);
);

For det andre kan det være lurt å sette en del av underdomenet som en parameter, som illustrert i følgende eksempel. Dette gjøres oftest i tilfeller av multitenitet (tenk slakk eller høsting, der hvert selskap får sitt eget underdomen).

Rute :: Group (['Domain' => 'Account.Laravel-Recipes.com '], funksjon ()
Rute :: get ('/', funksjon ($ konto)
//
);
Rute ('/brukere/id', funksjon ($ konto, $ id)
//
);
);

Merk at eventuelle parametere for gruppen blir sendt inn i de grupperte rutenes metoder som den første parameteren (e).

Navneområde prefikser

Når du grupperer ruter etter underdomen eller ruteprefiks, er det sannsynlig at kontrollerne deres har et lignende PHP -navneområde. I API -eksemplet kan alle API -rutenes kontrollere være under et API -navneområde. Ved å bruke rutegruppen Namespace -prefikset, som vist i følgende eksempler, kan du unngå lange kontrollerhenvisninger i grupper som API/Controllera@Index og API/ControllerB@Index.

// app \ http \ controllers \ controllera
Rute :: get ('/', 'controllera@indeks');
// app \ http \ controllers \ api \ controllerb
Rute :: gruppe (['namespace' => 'api'], funksjon ()
Rute :: get ('/', 'controllerb@index');
)

Navn prefikser

Navn Prefikser stopper ikke der. Det er vanlig at rutenavn vil gjenspeile arverekjeden for banelementer, så brukere/kommentarer/5 vil bli servert av en rute som heter brukere.Kommentarer.forestilling. I dette tilfellet er det vanlig å bruke en rutegruppe rundt alle rutene som er under brukerne.kommenterer ressurser.

Akkurat som om vi kan prefikse url -segmenter og kontrollernavneområder, kan vi også prefiksstrenger til rutenavnet. Med rutegruppenavn -prefikser kan vi definere at hver rute i denne gruppen skal ha en gitt streng prefiks til navnet. I denne sammenhengen prefter vi brukere til hvert rutenavn, og kommenterer deretter.

Rute :: gruppe (['som' => 'brukere.',' prefiks '=>' brukere '], funksjon ()
Rute :: gruppe (['som' => 'kommentarer', 'prefiks' => 'kommentarer'], funksjon ()
// RUTE NAVN vil være brukere.Kommentarer.forestilling
Rute ::: get ('id', funksjon ()
//
)-> name ('show');
);
);