【问题标题】:Laravel how to add group prefix parameter to route functionLaravel如何将组前缀参数添加到路由功能
【发布时间】:2016-03-31 10:10:22
【问题描述】:

例如,我定义了这样的路由:

$locale = Request::segment(1);

Route::group(array('prefix' => $locale), function()
{
  Route::get('/about', ['as' => 'about', 'uses' => 'aboutController@index']);
}

我想为多个语言环境(en、de、es、...)生成链接。当我尝试提供这样的前缀参数时

$link = route('about',['prefix' => 'de']);

我有这样的链接example.com/en/about?prefix=de 如何提供前缀参数以获得这样的链接example.com/de/about

【问题讨论】:

  • 我不认为 laravel 路由有任何功能。签出此link
  • 是的,有支票docs
  • 是的,@Uchiha 可以在该组的属性前缀中使用命名参数。谢谢
  • @KalanjDjordjeDjordje #sixFingersMan 答案是正确的

标签: php laravel routes laravel-5


【解决方案1】:

也许你可以玩弄这样的东西。

Route::group(['prefix' => '{locale}'], function () {
    Route::get('about', ['as' => 'about', 'uses' => '....']);
});

route('about', 'en');  // http://yoursite/en/about
route('about', 'de');  // http://yoursite/de/about

【讨论】:

    【解决方案2】:

    你可以这样做:

    Route::group(['prefix'=>'de'],function(){
        Route::get('/about', [
           'as' => 'about',
           'uses' => 'aboutController@index'
        ]);
    
    });
    

    现在route('about') 会给出这样的链接:example.com/de/about

    【讨论】:

    • 我不需要定义路由。我需要获取带有其他前缀的路由的 url。
    【解决方案3】:

    试试这个:

    $locale = Request::segment(1);
    
    Route::group(array('prefix' => $locale), function()
    {
        Route::get('/about', ['as' => 'about', 'uses' => 'aboutController@index']);
    }
    

    并且在提供链接的同时,您可以使用 url 辅助函数代替路由:

    $link = url('de/about');
    

    如果您想要更通用,请在控制器/视图中使用它:

     $link = url($locale.'/about');
    

    $locale 可能是en,de,etc

    【讨论】:

      【解决方案4】:

      你可以像这样简单地实现它

      Route::group(['prefix' => 'de'], function () {
          Route::get('about', ['as' => 'de.about', 'uses' => 'aboutController@index']);
      });
      

      你可以像 as 一样使用它

      $link = route('de.about');
      

      【讨论】:

      • de 在子路由中不是必需的
      • 很抱歉,我对一个问题几乎没有改进。问题是如何在调用路由函数时一般更改前缀
      • 但很容易识别@BasheerAhmed
      • @BasheerAhmed 它不会
      猜你喜欢
      • 2021-01-08
      • 1970-01-01
      • 2014-09-29
      • 2018-01-08
      • 2015-10-27
      • 1970-01-01
      • 1970-01-01
      • 2019-08-14
      • 1970-01-01
      相关资源
      最近更新 更多