Wie man Laravel Subdomain Routing macht

Wie man Laravel Subdomain Routing macht
Das Routing von Subdomain ist das gleiche wie das Routing -Präfixen, aber es wird von Subdomain anstelle des Routenpräfixes skopiert. Dafür gibt es zwei primäre Verwendungszwecke. Erstens möchten Sie möglicherweise unterschiedliche Abschnitte der Anwendung (oder völlig unterschiedlichen Anwendungen) für verschiedene Subdomänen vorlegen. Das folgende Beispiel zeigt Ihnen, wie das geht: Route :: Group (['Domain' => 'API.Laravel-Recipes.com '], function ()
Route :: get ('/', function ()
//
);
);

Zweitens möchten Sie einen Teil der Subdomain als Parameter festlegen, wie im folgenden Beispiel dargestellt. Dies geschieht am häufigsten bei Multitenanz (denken Sie an Slack oder Ernte, bei denen jedes Unternehmen seine eigene Subdomain hat).

Route :: Group (['Domain' => 'Account.Laravel-Recipes.com '], function ()
Route :: get ('/', function ($ account)
//
);
Route ('/user/id', function ($ conto, $ id)
//
);
);

Beachten Sie, dass alle Parameter für die Gruppe als erste Parameter in die Methoden der gruppierten Routen übergeben werden.

Namespace Präfixe

Wenn Sie Routen nach Subdomain- oder Routenpräfix gruppieren, haben ihre Controller wahrscheinlich einen ähnlichen PHP -Namespace. In der API -Beispiel können alle Controller der API -Routen unter einem API -Namespace stehen. Durch die Verwendung des Präfix für Routengruppen -Namespace, wie in den folgenden Beispielen gezeigt, können Sie Long Controller -Referenzen in Gruppen wie API/Controllera@index und api/ControllerB@index vermeiden.

// app \ http \ controller \ controllera
Route :: Get ('/', 'Controllera@index');
// app \ http \ controller \ api \ controllerb
Route :: Group (['Namespace' => 'api'], function ()
Route :: Get ('/', 'ControllerB@index');
)

Nennen Sie Präfixe

Nennen Sie Präfixe hier nicht. Es ist üblich, dass Routennamen die Vererbungskette von Pfadelementen widerspiegeln, sodass Benutzer/Kommentare/5 von einer Route namens Users bedient werden.Kommentare.zeigen. In diesem Fall ist es üblich, eine Routengruppe um alle Routen zu verwenden, die sich unter den Benutzern befinden.Kommentare Ressourcen.

Genau wie wir URL -Segmente und Controller -Namespaces vorfixieren können. Mit den Präfixen des Routengruppennamens können wir definieren, dass jede Route innerhalb dieser Gruppe eine bestimmte Zeichenfolge vorangestellt sein sollte, die ihren Namen vorangestellt hat. In diesem Zusammenhang setzen wir Benutzer für jeden Routennamen vor, dann Kommentare.

Route :: Group (['als' => 'Benutzer.',' Präfix '=>' Benutzer '], function ()
Route :: Group (['als' => 'Kommentare', 'Präfix' => 'Kommentare'], function ()
// Routenname sind Benutzer.Kommentare.zeigen
Route ::: Get ('id', function ()
//
)-> name ('show');
);
);