>PHP 프레임워크 >Laravel >Laravel8 라우팅 모듈에 새로운 누락 방법 소개

Laravel8 라우팅 모듈에 새로운 누락 방법 소개

藏色散人
藏色散人앞으로
2021-03-18 17:08:592129검색

튜토리얼 칼럼에서 Laravel 8 경로 모듈을 소개하는 내용으로 소개되어 있어 필요한 친구들에게 도움이 되었으면 좋겠습니다!

Laravel 버전 8.26.0 이상에는 라우팅 모듈에 새로운 missing() 메서드가 있습니다. 실제 개발에서는 해당 데이터를 자동으로 찾기 위해 라우팅 보이지 않는 바인딩을 사용하는 경우가 많습니다. 컨트롤러에서 직접 코딩하세요.
이전에는 모델이 해당 데이터를 찾지 못한 경우 전역적으로 통합된 404 페이지로 자동으로 이동했는데 이는 유연성이 부족했습니다. 이 문제를 해결하기 위해 missing() 메서드가 등장했습니다.

Route::get('/users/{user:slug}', [UserController::class, 'show'])
     ->name('user.view')
     ->missing(function (Request $request) {
         return Redirect::route('user.index');
     });
Laravel8 라우팅 모듈에 새로운 누락 방법 소개missing.test/users/dalian 요청 시, user 테이블에서 slug of dalian이 포함된 데이터를 찾을 수 없는 경우 통합 404 페이지가 아닌 사용자 목록의 홈페이지로 이동합니다.

참고:
이 방법은 보이지 않는 경로 바인딩에만 유효합니다. 예를 들어 컨트롤러에서 findOrFail 방법을 사용하는 경우 지정된 데이터를 찾을 수 없더라도 마찬가지입니다. , missing 메소드가 실행되지 않지만 통합 404 페이지로 이동합니다. missing() 方法,我们在实际开发中,经常使用路由隐形绑定自动查找对应的数据,减少在 Controller 中自己编写代码。
在之前,如果模型没有查到对应的数据,会自动跳转到全局统一的 404 页面,不够灵活。而 missing() 方法就是为了解决这个问题而来的。

rrreee

当请求 missing.test/users/dalian 时,如果在用户表中查不到 slug 为 dalian 的数据,会跳转到用户列表的首页,而不是统一的 404 页面。

注意:
该方法只适用于路由的隐形绑定才会有效,例如在 Controller 中使用 findOrFail 方法,即使未查到指定的数据,也不会出发 missing

위 내용은 Laravel8 라우팅 모듈에 새로운 누락 방법 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 learnku.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제