Come fare il routing del sottodominio Laravel

Come fare il routing del sottodominio Laravel
Il routing del sottodominio è lo stesso del prefisso del routing, ma è ammorbidito dal sottodominio anziché dal prefisso del percorso. Ci sono due usi primari per questo. Innanzitutto, potresti voler presentare diverse sezioni dell'applicazione (o applicazioni completamente diverse) a diversi sottodomi. Il seguente esempio mostra come fare questo: Route :: Group (['Domain' => 'API.Laravel-recipes.com '], function ()
Route :: get ('/', function ()
//
);
);

In secondo luogo, potresti voler impostare parte del sottodominio come parametro, come illustrato nell'esempio seguente. Questo è più spesso fatto in caso di multitenancy (pensa a Slack o Harvest, in cui ogni azienda ottiene il proprio sottodominio).

Route :: Group (['Domain' => 'account.Laravel-recipes.com '], function ()
Route :: get ('/', funzione ($ account)
//
);
Route ('/utenti/id', funzione ($ account, $ id)
//
);
);

Si noti che eventuali parametri per il gruppo vengono passati nei metodi delle rotte raggruppate come primi parametri.

Prefissi dello spazio dei nomi

Quando si raggruppano percorsi per sottodominio o prefisso, è probabile che i loro controller abbiano uno spazio dei nomi PHP simile. Nell'esempio API, tutti i controller dei percorsi API potrebbero essere sotto uno spazio dei nomi API. Usando il prefisso dello spazio dei nomi dei gruppi di route, come mostrato nei seguenti esempi, è possibile evitare lunghi riferimenti di controller in gruppi come API/Controllera@Index e API/ControllerB@Index.

// app \ http \ controller \ controllera
Route :: get ('/', 'controllera@indice');
// app \ http \ controller \ api \ controllerB
Route :: Group (['namespace' => 'api'], function ()
Route :: get ('/', 'Controllerb@indice');
)

Nome prefissi

I prefissi del nome non si fermano qui. È comune che i nomi del percorso riflettano la catena di eredità degli elementi del percorso, quindi utenti/commenti/5 saranno serviti da un percorso chiamato utenti.Commenti.spettacolo. In questo caso, è comune utilizzare un gruppo di percorsi attorno a tutte le rotte che si trovano sotto gli utenti.Risorse commenti.

Proprio come possiamo prefiggere i segmenti URL e gli spazi dei nomi dei controller, possiamo anche prefiggere le stringhe al nome del percorso. Con i prefissi del nome del gruppo di route, possiamo definire che ogni percorso all'interno di questo gruppo dovrebbe avere una determinata stringa prefissata al suo nome. In questo contesto, stiamo prefisando gli utenti a ciascun nome del percorso, quindi commenti.

Route :: Group (['come' => 'utenti.',' prefix '=>' utenti '], function ()
Route :: Group (['come' => 'commenti', 'prefix' => 'commenti'], function ()
// Il nome del percorso sarà utenti.Commenti.spettacolo
Route ::: get ('id', function ()
//
)-> name ('show');
);
);