【问题标题】:Route group with optional parameter带有可选参数的路由组
【发布时间】:2013-09-10 09:12:12
【问题描述】:

我想知道是否可以在组前缀中使用可选参数。

在任何其他路线中将其与{parameter?} 一起使用都不起作用:

Route::group(array('prefix' => 'foo/{foo_id?}'), function() {
   Route::any('bar', 'ApiFooController@bar');
});

我想同时捕获foo/barfoo/2/bar

据我所知,它只能在没有问号的情况下工作,但是foo/bar(没有参数)会引发错误。

我想避免定义两个单独的组,这将是一种解决方法。可能需要注意的重要一点:bar 是除了资源之外的自定义函数,所以我不想定义资源(如 foo.bar)。

【问题讨论】:

    标签: php laravel laravel-4


    【解决方案1】:

    我认为您可能需要定义两次路线,但您不必创建另一个组。

    这对你有用吗?

    Route::group(array('prefix'=>'foo'),function() {
            Route::any('bar', 'ApiFooController@bar');
            Route::any('{foo_id}/bar', 'ApiFooController@bar');
        });
    

    【讨论】:

    • 嗯,是的,到目前为止有两种解决方案。如果我没有很多路线,最好将路线定义两次。如果我有很多路线,也许两次定义组会更好。我当然仍然希望在组中定义一个可选参数,因为它可以在路由中。看起来 laravel 缺少该功能。
    猜你喜欢
    • 2023-03-03
    • 2016-10-12
    • 2011-01-09
    • 1970-01-01
    • 2016-08-01
    • 2013-12-07
    • 2018-04-06
    • 1970-01-01
    相关资源
    最近更新 更多