Маршруты Laravel: получить информацию о последовательности?
Вопрос
Только что получил электронную книгу «Начало работы с Laravel 4» от Raphael Saunier и попробовал учебник, когда написал маршрут :: get in routes.php, я получил ошибку, говоря, что
Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException
Когда я написал такой код
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');
});
но после загрузки исходного файла из packagetpub я перекрестно проверяю, что весь код точно такой же, но отличается только последовательность, вот так
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);
});
имеют ли значение такие различия в последовательности маршрутов в Routes.php?как мне теперь понять, что ошибка связана с последовательностью маршрутов?
Решение
Да.Последовательность определенно имеет значение.Как только маршрут соответствует вашему текущему URL-адресу, остальные маршруты больше не проверяются.
С Route::get('cats/{cat}', ...)
матчи против cats/
+ все что угодно, сюда же входит cats/create
.