Como fazer o roteamento de subdomínio de Laravel

Como fazer o roteamento de subdomínio de Laravel
O roteamento de subdomínio é o mesmo que o prefixo de roteamento, mas é escopo pelo subdomínio em vez de prefixo de rota. Existem dois usos primários para isso. Primeiro, você pode querer apresentar diferentes seções do aplicativo (ou aplicações totalmente diferentes) a diferentes subdomínios. O exemplo a seguir mostra como fazer isso: rota :: grupo (['domain' => 'API.Laravel-recipes.com '], function ()
Rota :: get ('/', function ()
//
);
);

Segundo, você pode querer definir parte do subdomínio como um parâmetro, conforme ilustrado no exemplo a seguir. Isso geralmente é feito nos casos de multitenância (pense em Slack ou Harvest, onde cada empresa obtém seu próprio subdomínio).

Route :: Group (['domain' => 'conta.Laravel-recipes.com '], function ()
Rota :: get ('/', function ($ conta)
//
);
Rota ('/usuários/id', function ($ conta, $ id)
//
);
);

Observe que quaisquer parâmetros para o grupo são passados ​​para os métodos das rotas agrupadas como os primeiros parâmetros.

Prefixos de espaço para nome

Quando você está agrupando rotas por subdomínio ou prefixo de rota, é provável que seus controladores tenham um espaço de nome de PHP semelhante. No exemplo da API, todos os controladores das rotas de API podem estar em um espaço para nome da API. Usando o prefixo de espaço para nome do grupo de rota, conforme mostrado nos exemplos a seguir, você pode evitar referências de controlador longo em grupos como API/Controllera@index e API/Controllerb@index.

// app \ http \ controllers \ controllera
Rota :: get ('/', 'controlrene@index');
// app \ http \ controladores \ api \ controlerb
Route :: Group (['namespace' => 'API'], function ()
Rota :: get ('/', 'controlerb@index');
)

Prefixos de nome

Prefixos de nome não param aí. É comum que os nomes de rotas reflitam a cadeia de herança dos elementos do caminho, para que os usuários/comentários/5 sejam servidos por uma rota chamada usuários.comentários.mostrar. Nesse caso, é comum usar um grupo de rota em torno de todas as rotas que estão abaixo dos usuários.Recursos de comentários.

Assim como podemos prefixar segmentos de URL e namespaces de controladores, também podemos prefixar strings para o nome da rota. Com os prefixos de nomes do grupo de rota, podemos definir que todas as rota neste grupo devem ter uma determinada string prefixada em seu nome. Nesse contexto, estamos prefixando os usuários para cada nome de rota e depois comentários.

Route :: Grupo (['AS' => 'Usuários.',' prefixo '=>' usuários '], function ()
Route :: Grupo (['AS' => 'Comentários', 'Prefixo' => 'Comentários'], function ()
// O nome da rota será usuários.comentários.mostrar
Rota ::: get ('id', function ()
//
)-> nome ('show');
);
);