是否可以使用前缀作为Laravel路由的参数?

时间:2015-02-23 09:56:46

标签: laravel laravel-routing laravel-5

我在页面上有不同的语言,我想知道是否可以将它们用作前缀参数。像这样:

Route::group(['prefix' => '{lang}'], function() {
    Route::get('/', 'BlogController@posts');
})->where('lang', '(en|fr|de)');

2 个答案:

答案 0 :(得分:0)

我能想到的最接近的是:

Route::group(['prefix' => '{lang}'], function() {
    Route::get('/', 'BlogController@posts')->where('lang', '(en|fr|de)');
});

答案 1 :(得分:0)

此代码从您的语言表中获取语言。希望您可以将此代码更改为您的要求,如果没有 - 请问;)尝试帮助您..

模型

class Language() {

public $table = 'languages';
public $timestamps = false;

public function set() {
    $code = Request::segment(1);
    $language = Language::whereCode($code)->first();
    return $language;
}

路由器

$language = new Language();
$language->set();    

Route::get('/', function() use ($language) { 
    return Redirect::to('/' . $language->code);
});

Route::group(array('prefix' => $language->code), function() {  
    Route::get('/', array('as' => 'home', 'uses' => 'PageController@index'));
});