튜토리얼 칼럼에서 Laravel 8 경로 모듈을 소개하는 내용으로 소개되어 있어 필요한 친구들에게 도움이 되었으면 좋겠습니다!
Laravel 버전 8.26.0 이상에는 라우팅 모듈에 새로운missing()
메서드가 있습니다. 실제 개발에서는 해당 데이터를 자동으로 찾기 위해 라우팅 보이지 않는 바인딩을 사용하는 경우가 많습니다. 컨트롤러에서 직접 코딩하세요. missing()
메서드가 등장했습니다.
Route::get('/users/{user:slug}', [UserController::class, 'show']) ->name('user.view') ->missing(function (Request $request) { return Redirect::route('user.index'); });missing.test/users/dalian 요청 시, user 테이블에서 slug of dalian이 포함된 데이터를 찾을 수 없는 경우 통합 404 페이지가 아닌 사용자 목록의 홈페이지로 이동합니다.
참고:
rrreee
이 방법은 보이지 않는 경로 바인딩에만 유효합니다. 예를 들어 컨트롤러에서findOrFail
방법을 사용하는 경우 지정된 데이터를 찾을 수 없더라도 마찬가지입니다. ,missing
메소드가 실행되지 않지만 통합 404 페이지로 이동합니다.missing()
方法,我们在实际开发中,经常使用路由隐形绑定自动查找对应的数据,减少在 Controller 中自己编写代码。
在之前,如果模型没有查到对应的数据,会自动跳转到全局统一的 404 页面,不够灵活。而missing()
方法就是为了解决这个问题而来的。当请求 missing.test/users/dalian 时,如果在用户表中查不到 slug 为 dalian 的数据,会跳转到用户列表的首页,而不是统一的 404 页面。
注意:
该方法只适用于路由的隐形绑定才会有效,例如在 Controller 中使用findOrFail
方法,即使未查到指定的数据,也不会出发missing
위 내용은 Laravel8 라우팅 모듈에 새로운 누락 방법 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!