Laravel Action의 작성 단계와 실습에 대한 자세한 소개
Laravel은 간단하면서도 강력한 API와 포괄적인 툴킷으로 인기가 높은 매우 인기 있는 PHP 개발 프레임워크입니다. Laravel에서 "액션"은 컨트롤러를 구축하고 로직 레이어를 보다 쉽게 단순화할 수 있는 개념입니다. 다음은 Laravel Action을 작성하는 단계와 실습을 자세히 소개합니다.
- 액션 클래스 만들기
먼저 액션 클래스를 만들어야 합니다. Laravel 8 이상에서는 Artisan 명령을 통해 이를 생성할 수 있습니다:
php artisan make:action MyAction
이렇게 하면 app/Action 디렉토리에 새로운 클래스 파일 "MyAction.php"가 생성됩니다. 이제 Action의 로직 작성을 시작할 수 있습니다.
- Action의 로직 작성
Action에서 컨트롤러의 각 메소드에 대한 특정 비즈니스 로직을 정의할 수 있습니다. 여기서는 사용자 로그인 논리를 처리하는 메서드를 만듭니다.
<?php namespace App\Actions; use Illuminate\Support\Facades\Auth; class LoginUserAction { public function execute(array $credentials) { $attempt = Auth::attempt($credentials); if (!$attempt) { throw new \Exception('Invalid login credentials'); } return Auth::user(); } }
위 예에서는 LoginUserAction이라는 작업을 만들었습니다. 사용자의 로그인 자격 증명이 포함된 배열을 받고, 로그인 시도를 수행하고, 오류가 있으면 예외를 발생시키고, 그렇지 않으면 성공적으로 인증된 사용자를 반환합니다.
우리가 로그인 작업을 수행하기 위해 Laravel의 Auth 파사드를 사용한다는 점은 주목할 가치가 있습니다. 이를 통해 우리는 Laravel의 인증 시스템을 쉽게 활용할 수 있습니다.
- 컨트롤러에서 액션 사용
이제 Action 클래스를 만들고 해당 로직을 정의했습니다. 다음 단계는 컨트롤러에서 이를 사용하는 것입니다.
Action 사용의 첫 번째 단계는 컨트롤러를 열고 Action 클래스를 소개하는 use 문을 추가하는 것입니다.
<?php namespace App\Http\Controllers; use App\Actions\LoginUserAction; use Illuminate\Http\Request; class AuthController extends Controller { public function login(Request $request, LoginUserAction $loginAction) { $credentials = $request->only(['email', 'password']); try { $user = $loginAction->execute($credentials); } catch (\Exception $e) { return response()->json([ 'message' => $e->getMessage() ], 401); } return response()->json(compact('user')); } }
위 코드에서는 자체 네임스페이스에서 LoginUserAction을 참조했습니다. 그런 다음 첫 번째 매개변수는 Laravel의 Request 객체이고 두 번째 매개변수는 위에서 생성한 LoginUserAction 인스턴스인 login() 메서드를 추가했습니다.
login()에서는 먼저 요청 내용을 기반으로 이메일과 비밀번호를 추출한 다음 Action을 호출하여 $credentials 매개변수를 통해 로직을 실행합니다. 성공하면 사용자를 JSON 형식으로 반환하고, 그렇지 않으면 클라이언트에 오류 메시지를 반환합니다.
- Call Action
이제 login() 메서드에 액세스하고 LoginUserAction 클래스의 실행 메서드를 호출할 수 있습니다. HTTP 요청에 일부 로그인 자격 증명이 포함된 배열을 전달하고 결과를 반환합니다.
경로에 해당 로그인 경로를 정의하세요:
<?php use Illuminate\Support\Facades\Route; use App\Http\Controllers\AuthController; Route::post('/login', [AuthController::class, 'login'])->name('login');
이제 laravel 애플리케이션의 /login 경로에 액세스할 수 있습니다. 이는 다음과 같습니다:
POST /login HTTP/1.1 Host: localhost:8000 Content-Type: application/json { "email": "user@example.com", "password": "my_password" }
이렇게 하면 컨트롤러에 정의한 login() 메서드가 트리거됩니다. LoginUserAction을 호출하고 이메일과 비밀번호를 매개변수로 전달합니다.
- Summary
Laravel Action은 비즈니스 로직을 구성하는 간단하고 깔끔한 방법을 제공합니다. 비즈니스 로직을 컨트롤러에서 Action 클래스로 이동하면 코드 재사용 및 유지 관리 가능성이 크게 향상될 수 있습니다.
Laravel Action을 사용할 때는 다음 두 가지 모범 사례를 따라야 합니다.
- 각 메서드는 한 가지 작업만 수행해야 합니다.
- 외부 클래스나 Action 클래스의 객체에 직접 접근하는 것을 피하고, 변수를 전달하는 방식을 사용하여 데이터의 공통적이고 반복적인 처리를 구현합니다.
마지막으로 Action 기능이 Laravel 8에서 도입되었다는 점에 유의해야 합니다. 이전 버전의 Laravel을 사용하는 경우 수동으로 Action 클래스를 생성하고 클래스 파일을 적절한 위치에 저장해야 할 수도 있습니다. 컨트롤러를 수동으로 인스턴스화하고 호출합니다.
위 내용은 Laravel Action의 작성 단계와 실습에 대한 자세한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











이 기사는 강력한 Laravel Restful API를 구축하는 사람들을 안내합니다. 프로젝트 설정, 리소스 관리, 데이터베이스 상호 작용, 직렬화, 인증, 인증, 테스트 및 중요한 보안 모범 사례를 다룹니다. 확장 성 도전 해결

이 기사는 Laravel에서 OAUTH 2.0 인증 및 승인을 구현하는 자세한 내용입니다. 리그/OAUTH2-SERVER 또는 제공자 별 솔루션과 같은 패키지를 사용하여 데이터베이스 설정 강조, 클라이언트 등록, 인증 서버 Configu

이 기사는 구성 요소를 사용하여 Laravel에서 재사용 가능한 UI 요소를 작성하고 사용자 정의하여 조직을위한 모범 사례를 제공하고 패키지 강화를 제안합니다.

이 기사는 클라우드 네이티브 환경에서 Laravel을 배포하기위한 모범 사례에 대해 설명하고 확장 성, 신뢰성 및 보안에 중점을 둡니다. 주요 문제로는 컨테이너화, 마이크로 서비스, 무국적 설계 및 최적화 전략이 포함됩니다.

이 기사는 Laravel에서 사용자 정의 블레이드 지시문을 만들고 사용하여 템플릿을 향상시키는 것에 대해 설명합니다. 지침 정의, 템플릿에서이를 사용하고 대규모 프로젝트에서 관리하고 개선 된 코드 재사용 성 및 R과 같은 이점을 강조합니다.

이 기사에서는 Laravel에서 사용자 정의 검증 규칙을 작성하고 사용하여이를 정의하고 구현하는 단계를 제공합니다. 재사용 성과 특이성과 같은 이점을 강조하고 Laravel의 검증 시스템을 확장하는 방법을 제공합니다.

PHP 프레임 워크를 선택할 때 Laravel과 Symfony는 가장 인기 있고 널리 사용되는 옵션 중 하나입니다. 각 프레임 워크는 자체 철학, 기능 및 강점을 테이블에 제공하여 다양한 프로젝트 및 사용 사례에 적합합니다.

이 기사는 Laravel의 최적 파일 업로드 및 클라우드 스토리지 전략을 살펴 봅니다. 로컬 스토리지 대 클라우드 제공 업체 (AWS S3, Google Cloud, Azure, DigitalOcean), 보안 강조 (유효성 검사, 소독, HTTP) 및 성능 OPTI를 검사합니다.
