6

我正在学习 Laravel 4 的几个教程,但我遇到了一个问题,我无法弄清楚或理解它为什么运行不正确。

我正在尝试编写一个查看 URL 的路由,然后在此基础上进行逻辑工作。这是我当前的代码:

Route::get('/books/{genre?}', function($genre)  
{  
    if ($genre == null) return 'Books index.';  
    return "Books in the {$genre} category.";  
});

因此,如果 URL 为http://localhost/books,则页面应返回“图书索引”。如果 URL 读取http://localhost/books/mystery该页面,则应返回“神秘类别中的图书”。

但是,我收到“{closure}() 缺少参数 1”错误。我什至参考了 Laravel 文档,它们的参数格式完全相同。任何帮助,将不胜感激。

4

2 回答 2

9

如果流派是可选的,您必须定义一个默认值:

Route::get('/books/{genre?}', function($genre = "Scifi")  
{  
    if ($genre == null) return 'Books index.';  
    return "Books in the {$genre} category.";  
});
于 2013-05-30T21:50:42.563 回答
1

流派是可选的,您必须为$genre. $genre=null以便它与您的代码的“图书索引”相匹配。

Route::get('books/{genre?}', function($genre=null)
{
    if (is_null($genre)) 
        return "Books index";


return "Books in the {$genre} category";
});
于 2014-03-27T08:25:50.520 回答