php - 带有可选参数的路由组

标签 php laravel laravel-4

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

像在任何其他路由中一样将其与 {parameter?} 一起使用是行不通的:

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

我想捕获 foo/barfoo/2/bar

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

我想避免定义两个单独的组,这将是一种解决方法。也许需要注意的是:bar 是除了资源之外的自定义函数,因此我不会尝试定义资源(例如 foo.bar)。

最佳答案

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

这对你有用吗?

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

关于php - 带有可选参数的路由组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18654887/

相关文章:

php - AFNetworking multipart/form-data POST 发送不正确的 JSON 字典数组

Laravel Sail 在 Ubuntu 20.04 LTS 中无法正常工作

php - 用新值替换数组值

php - Laravel - 调度一个不从存储库工作的工作

javascript - Laravel 4 和 AngularJS - 带路由的干净 URL

php - 比 CakePHP 中的 -1 递归手动连接更好的检索 HABTM、HasMany...等数据的方法?

php - 使用 PHP 中的 GD 库将位图文件转换为 JPEG

php - 将数据库结果添加到数组

php - Laravel 4 旧的 mysql 凭据似乎在某处兑现?

php - 如何在数据库的同一列中保存多个行输入?