Laravel Routes:获取序列问题?

ben*_*ang 2 php laravel laravel-4

刚刚从 Raphael Saunier 那里获得了“Laravel 4 入门”电子书并尝试了本教程,同时在 routes.php 中编写 Route::get 时出现错误提示

Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException
Run Code Online (Sandbox Code Playgroud)

当我写这样的代码时

Route::get('cats/{cat}', function($cat){
    return View::make('cats.single')->with('cat', $cat);
});

Route::get('cats/create', function() {
$cat = new Cat;
return View::make('cats.edit')
->with('cat', $cat)
->with('method', 'post');
});
Run Code Online (Sandbox Code Playgroud)

但是从packtpub下载源文件后,我交叉检查所有代码完全相同,但只有顺序不同,像这样

Route::get('cats/create', function() {
$cat = new Cat;
return View::make('cats.edit')
->with('cat', $cat)
->with('method', 'post');
});

Route::get('cats/{cat}', function($cat){
    return View::make('cats.single')->with('cat', $cat);
});
Run Code Online (Sandbox Code Playgroud)

像这样的路由序列差异在routes.php 上是否重要?我现在怎么能错误来自路线序列?

Jos*_*ber 5

是的。顺序绝对重要。一旦路由与您当前的 url 匹配,则不再检查其余路由。

由于Route::get('cats/{cat}', ...)cats/+ 任何内容匹配,因此它还包括cats/create.