2014-12-29 4 views
1

Я работаю над проектом 4.2 Laravel и у меня есть следующий код:Laravel предотвратить параметр групповой переход к контроллеру

В маршрутах:

Route::group(array('domain' => '{subdomain}.'.Config::get('app.domain')), function(){ 
    Route::controller('device', 'DeviceController'); 
}); 

Мой DeviceController содержит:

class DeviceController extends BaseController { 
    public function getFoo($param1, $param2){ 
     return View::make('testview'); 
    } 
} 

Когда я звоню http://blabla.mydomain.com/device/1/2, $ param1 держит фиксаторы blabla и $ param2 1.

Is существует вероятность того, что Laravel не передает параметр субдомена контроллеру, поэтому $ param1 становится равным 1, а параметр param2 равен 2.

Спасибо!

+0

Зачем использовать параметр маршрута 'subdomain', если вы этого не хотите? – lukasgeiter

+0

Я использую субдомен в другом фрагменте кода. Это просто упрощение. – Jason

ответ

0

Я не думаю, что можно не передать параметры группы маршрутов функции контроллера без написания собственных классов маршрутизатора.

Это не ответ на вопрос, а скорее другое возможное решение проблемы.

Я предлагаю вам получить поддомен путем анализа узла вместо использования группы маршрутов.

$subdomain = null; 
$host = Request::getHost(); 
$parts = explode('.', $host); 
if(count($parts) > 2){ 
    $subdomain = $parts[0]; 
} 

Вы можете использовать это непосредственно, написать вспомогательную функцию или даже создать для нее Фасад. Как хочешь.

Смежные вопросы