Laravel 컨트롤러 편집하기

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.

편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.

최신판 당신의 편집
356번째 줄: 356번째 줄:
</syntaxhighlight>
</syntaxhighlight>


===리소스 라우트 스코프지정===
===리소스 라우트 스코핑===
Laravel의 [[Laravel 라우팅#커스텀 키와 스코프지정|스코프 지정된 암시적 모델 바인딩]] 기능은 자식 모델이 부모 모델에 속하는지 자동으로 확인하도록 중첩된 바인딩의 스코프를 지정할 수 있습니다. 중첩된 리소스를 정의할 때 <code>scoped</code> 메소드를 사용하면 자동 스코프 지정이 가능해지며 자식 리소스를 어떤 필드로 조회할지 Laravel에 지시할 수 있습니다:
 
<syntaxhighlight lang='php'>
use App\Http\Controllers\PhotoCommentController;
Route::resource('photos.comments', PhotoCommentController::class)->scoped([
    'comment' => 'slug',
]);
</syntaxhighlight>
 
이 라우트는 다음과 같은 URI로 접근할 수 있는 스코프가 지정된 중첩 리소스를 등록합니다:
 
<syntaxhighlight lang='text'>
/photos/{photo}/comments/{comment:slug}
</syntaxhighlight>
 
커스텀 키 암시적 바인딩을 중첩된 라우트 매개변수로 사용할 때, Laravel은 관습에 따라 부모를 사용하여 중첩된 모델을 조회하기 위해 쿼리의 스코프를 자동으로 지정합니다. 이 경우, <code>Photo</code> 모델이 <code>Comment</code> 모델을 조회하는 데 사용할 수 있는 <code>comments</code>라는 관계(라우트 매개변수 이름의 복수형)를 가지고 있다고 가정합니다.
 
===리소스 URI 현지화===
===리소스 URI 현지화===
기본적으로, <code>Route::resource</code>는 영어 동사와 복수형 규칙을 사용하여 리소스 URI를 생성합니다. <code>create</code>와 <code>edit</code> 동사를 현지화해야 하는 경우, <code>Route::resourceVerbs</code> 메소드를 사용할 수 있습니다. 이는 애플리케이션의 <code>App\Providers\AppServiceProvider</code> 내의 <code>boot</code> 메소드 시작 부분에서 수행할 수 있습니다:
기본적으로, <code>Route::resource</code>는 영어 동사와 복수형 규칙을 사용하여 리소스 URI를 생성합니다. <code>create</code>와 <code>edit</code> 동사를 현지화해야 하는 경우, <code>Route::resourceVerbs</code> 메소드를 사용할 수 있습니다. 이는 애플리케이션의 <code>App\Providers\AppServiceProvider</code> 내의 <code>boot</code> 메소드 시작 부분에서 수행할 수 있습니다:

제타위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-동일조건변경허락 3.0 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는 제타위키:저작권 문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다. 저작권이 있는 내용을 허가 없이 저장하지 마세요!

취소 편집 도움말 (새 창에서 열림)

이 문서에서 사용한 틀: