Como lidar com Laravel 4 sub-domínio de rota com o controlador, passando subdomínio como um argumento
-
23-12-2019 - |
Pergunta
A seguir o Laravel 4 documentação sobre Roteamento, estou tentando criar um domínio de rota que irá lidar com um curinga subdomínio e passe-o a uma ação de controle, mas estou tendo problemas para passar o argumento.
Route::group(array('domain' => '{subdomain}.myapp.com'), function()
{
Route::get('/', function($subdomain)
{
die($subdomain);
});
});
Se eu escrever a estrada como esta, que vai imprimir o subdomínio, o que quer que seja.O problema é que eu não quero escrever o código que lida com essas situações no routes.php arquivo, mas o uso de um Controlador para lidar com tudo isso, sem redirecionar a partir de subdomain.myapp.com para myapp.com/controller/action/subdomain.Então, algo como isto:
Route::group(array('domain' => '{subdomain}.myapp.com'), function()
{
Route::get('/', 'MyController@myAction', $subdomain);
});
Como faço para passar o {subdomínio} argumento para o controlador, neste caso?
Solução
Parece que a manhã é mais inteligente do que a noite.Eu fui com um despacho solução, então se alguém tiver uma solução mais elegante, por favor, sinta-se livre para postar e eu vou aceitar a sua resposta.
Route::group(array('domain' => '{subdomain}.myapp.com'), function()
{
Route::get('/', function($subdomain) {
$request = Request::create('/myRoute/' . $subdomain, 'GET', array());
return Route::dispatch($request)->getContent();
});
});
Route::get('myRoute/{subdomain}', 'MyController@myAction');