Представьте, что следующая структура URL:Laravel 4,2 продолжать маршрутизацию
someurl.axyz/{post-slug}
someurl.axyz/{page-slug}
post-slug
и page-slug
хранятся в уникальном столбце таблицы базы данных. Что такое «самый» элегантный способ обработки маршрутов с помощью Laravel 4.2 (и если есть разница с Laravel v5.2)?
Я решил это, используя параметр привязки к модели. Следующий код находится внизу файла routes.php. Я хотел бы знать, есть ли более простое решение для этой задачи.
Route::bind('directslug', function($value, $route) {
$post = Post::where('slug', $value)->first();
if ($post) {
return $post;
}
$page = Page::where('slug', $value)->first();
if ($page) {
return $page;
}
throw new NotFoundHttpException;
});
Route::get('{directslug}', function(Post $post) {
return $post;
});
Route::get('{directslug}', function(Page $page) {
return $page;
});
App::missing(function($exception) {
return Response::view('error.missing', array('title' => '404 Page not Found'), 404);
});
Для 4.2 вам необходимо вручную привязать параметр, как вы это сделали, и 5.2 привязывает его из коробки. – TheFallen