具有相同参数但具有不同命名路由的URL

时间:2016-05-16 13:38:28

标签: php laravel-5 routing

我有两个网址'一个是

Route::get(
        '/{cat}/{slug}',
        [
            'uses' => 'User\UserEndController@category',
            'as'=>'showCategory',
            'middleware'=>'web'
        ]
    );

另一个就是这个

Route::get(
        '/{mostParentCat}/{performerSlug}',
        [
            'uses' => 'User\UserEndController@performerWithoutParent',
            'as'=>'performerWithoutParent',
            'middleware'=>'web'
        ]
    );

它们都在斜线后得到两个参数 我必须将它们重定向到不同的功能。 我知道这不是使用相同路线的好方法,但这是客户要求

1 个答案:

答案 0 :(得分:0)

如果这是客户要求,你不能做任何其他事情,我会创建一条路线

'/{cat}/{slug}'

并将其链接到一项行动,该行动的责任是检查您需要的行为

一旦你理解了你需要什么,你可以使用两个不同的类(一个用于'/{cat}/{slug}'组合,一个用于/{mostParentCat}/{performerSlug}

另请参阅策略设计模式。它可以帮助你。

希望有所帮助:)