Маршруты Laravel: получить информацию о последовательности?

StackOverflow https://stackoverflow.com//questions/22004952

  •  20-12-2019
  •  | 
  •  

Вопрос

Только что получил электронную книгу «Начало работы с 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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top