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?

Foi útil?

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');
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top