Laravel 컨트롤러 편집하기

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

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

최신판 당신의 편집
240번째 줄: 240번째 줄:


===부분 리소스 라우트===
===부분 리소스 라우트===
리소스 라우트를 선언할 때, 기본 설정된 전체 액션 집합 대신 컨트롤러가 처리해야 하는 액션의 부분집합을 지정할 수 있습니다:
<syntaxhighlight lang='php'>
use App\Http\Controllers\PhotoController;
Route::resource('photos', PhotoController::class)->only([
    'index', 'show'
]);
Route::resource('photos', PhotoController::class)->except([
    'create', 'store', 'update', 'destroy'
]);
</syntaxhighlight>
;API 리소스 라우트
API에서 사용될 리소스 라우트를 선언할 때, <code>create</code>와 <code>edit</code>과 같은 HTML 템플릿을 제공하는 라우트를 제외하고 싶을 때가 많습니다. 편의를 위해, 이러한 두 라우트를 자동으로 제외하는 <code>apiResource</code> 메소드를 사용할 수 있습니다:
<syntaxhighlight lang='php'>
use App\Http\Controllers\PhotoController;
Route::apiResource('photos', PhotoController::class);
</syntaxhighlight>
배열을 <code>apiResources</code> 메소드에 전달하여 여러 API 리소스 컨트롤러를 한 번에 등록할 수 있습니다:
<syntaxhighlight lang='php'>
use App\Http\Controllers\PhotoController;
use App\Http\Controllers\PostController;
Route::apiResources([
    'photos' => PhotoController::class,
    'posts' => PostController::class,
]);
</syntaxhighlight>
<code>create</code>나 <code>edit</code> 메소드를 포함하지 않는 API 리소스 컨트롤러를 빠르게 생성하려면, <code>make:controller</code> 명령어를 실행할 때 <code>--api</code> 스위치를 사용하십시오:
<syntaxhighlight lang='bash'>
php artisan make:controller PhotoController --api
</syntaxhighlight>
===중첩 리소스===
===중첩 리소스===
때로는 중첩된 리소스에 대한 라우트를 정의해야 할 때가 있습니다. 예를 들어, 사진 리소스에는 사진에 첨부될 수 있는 여러 개의 댓글이 있을 수 있습니다. 리소스 컨트롤러를 중첩하려면 라우트 선언에서 "점(dot)" 표기법을 사용할 수 있습니다:
때로는 중첩된 리소스에 대한 라우트를 정의해야 할 때가 있습니다. 예를 들어, 사진 리소스에는 사진에 첨부될 수 있는 여러 개의 댓글이 있을 수 있습니다. 리소스 컨트롤러를 중첩하려면 라우트 선언에서 "점(dot)" 표기법을 사용할 수 있습니다:

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

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

이 문서에서 사용한 틀: