Как да се справя с маршрута на поддомейн на Laravel 4 с контролер, предавайки поддомейн като аргумент

Следвайки документацията на Laravel 4 относно маршрутизирането, опитвам се да създам маршрут на домейн, който ще обработва поддомейн със заместващи символи и ще го предава на действие на контролер, но имам проблеми с подаването на аргумента.

Route::group(array('domain' => '{subdomain}.myapp.com'), function()
{
    Route::get('/', function($subdomain)
    {
        die($subdomain);
    });
});

Ако напиша маршрута по този начин, той ще отпечата поддомейна, какъвто и да е той. Проблемът е, че не искам да пиша кода, който обработва тези ситуации във файла routes.php, но използвам контролер, за да се справя с всичко, без да пренасочвам от subdomain.myapp.com към myapp.com/controller/action/ поддомейн. И така, нещо като това:

Route::group(array('domain' => '{subdomain}.myapp.com'), function()
{
    Route::get('/', 'MyController@myAction', $subdomain);
});

Как да предам аргумента {subdomain} на контролера в този случай?


person Lazar Vuckovic    schedule 27.02.2014    source източник


Отговори (1)


Изглежда, че утрото е по-умно от нощта. Избрах решение за изпращане, така че ако някой друг има по-елегантно решение, моля, не се колебайте да го публикувате и вместо това ще приема отговора ви.

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');
person Lazar Vuckovic    schedule 28.02.2014