인터넷 기술의 급속한 발전으로 인해 점점 더 많은 애플리케이션이 데이터 전송 및 상호 작용에 RESTful API를 사용하기 시작했습니다. RESTful API는 HTTP 프로토콜 기반의 경량 통신 프레임워크로 확장이 용이하고 호환성이 강한 장점이 있습니다. PHP는 매우 널리 사용되는 서버 측 프로그래밍 언어이며 선택할 수 있는 우수한 프레임워크가 많이 있습니다. 그중 Lumen은 RESTful API 서비스를 빠르게 구축할 수 있는 경량 PHP 프레임워크입니다.
이 글에서는 Lumen을 사용하여 간단하고 사용하기 쉬운 RESTful API 서비스를 개발하는 단계를 소개합니다. 다음 측면을 다룹니다.
Lumen은 Laravel 프레임워크의 마이크로 프레임워크로 빠르고 효율적입니다. Laravel에 비해 Lumen은 더 가볍고 응답 속도가 더 빠릅니다. Lumen은 PHP 7 이상을 기반으로 하고 RESTful API 캡슐화를 지원하는 종속성 관리 도구로 Composer를 사용합니다.
RESTful API는 HTTP 프로토콜 기반의 통신을 위한 데이터 전송 및 상호 작용 방법입니다. RESTful API의 기본 제약 조건은 다음과 같습니다.
일반적으로 사용되는 HTTP 메서드에는 GET, POST, PUT 및 DELETE가 있습니다. 이러한 HTTP 메소드와 URL 리소스 경로를 결합하면 RESTful API 서비스를 구축할 수 있습니다.
먼저 Lumen 프레임워크를 설치해야 합니다. 커맨드 라인 터미널에 다음 명령어를 입력하세요:
composer create-project --prefer-dist laravel/lumen your-project-name
설치가 완료될 때까지 기다린 후, 프로젝트 디렉토리에 들어가 artisan 커맨드 라인 툴을 통해 컨트롤러, 모델 등 필요한 파일들을 생성하세요:
php artisan make:controller YourControllerName php artisan make:model YourModelName
이제, 설치가 완료되었습니다. Lumen 프레임워크 설치 및 다음 작업에 필요한 파일이 생성됩니다.
컨트롤러는 요청을 처리하고 응답을 반환하는 데 사용되는 PHP 클래스입니다. Lumen 프레임워크에서 컨트롤러는 일반적으로 /app/Http/Controllers 폴더에 저장됩니다.
데이터에 대한 CRUD 작업을 처리하는 컨트롤러를 작성하세요. 여기서는 ID, 이름, 이메일 및 기타 필드를 포함하는 사용자 데이터 테이블이 있다고 가정합니다.
<?php namespace AppHttpControllers; use AppModelsUser; use IlluminateHttpRequest; use IlluminateSupportFacadesValidator; class UserController extends Controller { public function index() { return response()->json(User::all()); } public function store(Request $request) { $validator = Validator::make($request->all(), [ 'name' => 'required|max:255', 'email' => 'required|email|unique:users' ]); if ($validator->fails()) { return response()->json($validator->errors(), 400); } else { $user = User::create([ 'name' => $request->input('name'), 'email' => $request->input('email') ]); return response()->json($user, 201); } } public function update(Request $request, $id) { $validator = Validator::make($request->all(), [ 'name' => 'max:255', 'email' => 'email|unique:users' ]); if ($validator->fails()) { return response()->json($validator->errors(), 400); } else { $user = User::find($id); if ($user) { $user->name = $request->input('name'); $user->email = $request->input('email'); $user->save(); return response()->json($user); } else { return response()->json(['error' => 'User not found'], 404); } } } public function show($id) { $user = User::find($id); if ($user) { return response()->json($user); } else { return response()->json(['error' => 'User not found'], 404); } } public function destroy($id) { $user = User::find($id); if ($user) { $user->delete(); return response()->json(['message' => 'User deleted']); } else { return response()->json(['error' => 'User not found'], 404); } } }
여기에서는 index, store, update, show 및 destroy 5가지 메소드가 포함된 UserController라는 컨트롤러 클래스를 작성합니다. 이는 각각 RESTful API의 5가지 일반적인 작업(리소스 획득, 리소스 생성, 리소스 업데이트, 지정된 리소스 획득 및 리소스 삭제)에 해당합니다.
위 코드에서는 Lumen 프레임워크의 응답자(response())와 모델(User)과 Lumen 프레임워크에서 제공하는 검증자(Validator)를 사용했습니다. 이 외에도 컨트롤러에 다른 종속성을 도입하여 더 복잡한 작업을 수행할 수도 있습니다.
모델은 일반적으로 데이터 요청을 처리하기 위해 컨트롤러가 호출될 때 데이터를 올바르게 읽고 처리할 수 있도록 데이터 테이블을 표현하는 데 사용됩니다. Lumen 프레임워크에서 모델 파일은 일반적으로 /app/Models 폴더에 저장됩니다.
다음은 간단한 모델입니다. 이 모델에서는 데이터 테이블 이름이 users라는 데 동의했습니다.
<?php namespace AppModels; use IlluminateDatabaseEloquentModel; class User extends Model { protected $table = 'users'; protected $fillable = ['name', 'email']; }
위 코드의 User 클래스는 몇 가지 필수 속성 변수를 포함하는 Lumen 프레임워크의 Model 클래스에서 상속됩니다. 및 방법. 여기서는 protected $table = 'users'를 사용하여 이 모델에 해당하는 데이터 테이블을 사용자로 명명하는 데 동의하고, fillable 속성을 사용하여 일괄 할당할 수 있는 필드를 제한합니다.
라우팅은 요청의 URL 경로와 요청을 배포하는 데 사용되는 해당 컨트롤러 방법을 지정합니다. Lumen 프레임워크에서 라우팅 파일은 일반적으로 /routes 폴더에 저장됩니다.
<?php $router->get('/', function () use ($router) { return $router->app->version(); }); $router->get('/users', 'UserController@index'); $router->post('/users', 'UserController@store'); $router->get('/users/{id}', 'UserController@show'); $router->put('/users/{id}', 'UserController@update'); $router->delete('/users/{id}', 'UserController@destroy');
위 코드에서는 라우터($router)의 get, post, put 및 delete를 사용하여 HTTP 요청 방법을 지정하는 5가지 작업에 해당하는 URL 경로와 처리 방법을 지정합니다.
이제 Lumen 프레임워크 설치, 컨트롤러 코드 작성, 모델 정의 및 라우팅 설정이 성공적으로 완료되었으며 테스트할 수 있습니다. 웹 서비스를 시작하려면 명령줄 터미널에 다음 명령을 입력하세요.
php -S 127.0.0.1:8000 -t public
그런 다음 브라우저를 열고 localhost:8000/users를 입력하여 위 API 서비스에 액세스하면 사용자 목록이 표시됩니다. 또는 Postman 또는 기타 HTTP 클라이언트 도구를 사용하여 인터페이스를 테스트할 수 있습니다.
요약
Lumen 프레임워크를 사용하면 간단하고 사용하기 쉬운 RESTful API 서비스를 쉽게 구축할 수 있습니다. Lumen 프레임워크의 지원으로 컨트롤러, 모델, 경로 등 필요한 파일을 빠르게 작성하고 테스트용 명령줄 도구를 통해 웹 서비스를 시작할 수 있습니다. 전통적인 PHP 개발 방법과 비교하여 이 방법은 개발 효율성과 프로그램 운영 효율성을 크게 향상시킬 수 있습니다.
위 내용은 PHP 프레임워크 Lumen을 사용하여 간단하고 사용하기 쉬운 RESTful API 서비스 개발의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!