PHP 구현 프레임워크: Lumen 프레임워크 소개 튜토리얼

WBOY
풀어 주다: 2023-06-18 08:42:01
원래의
2395명이 탐색했습니다.

Lumen은 Laravel 프레임워크 개발자가 개발한 PHP 기반 마이크로 프레임워크입니다. 원래는 Laravel 프레임워크의 일부 구성 요소와 기능을 유지하면서 작은 API 애플리케이션과 마이크로서비스를 빠르게 구축하도록 설계되었습니다. Lumen 프레임워크는 가볍고 빠르며 사용하기 쉽기 때문에 광범위한 관심과 사용을 받았습니다. 이 기사에서는 Lumen 프레임워크를 빠르게 시작하고 Lumen 프레임워크를 사용하여 간단한 API 애플리케이션을 구축하는 방법을 배웁니다.

  1. 프레임워크 준비

Lumen 프레임워크를 배우기 전에 먼저 프레임워크를 준비해야 합니다. Lumen 프레임워크는 Composer를 사용하여 설치할 수 있으므로 Lumen을 설치하기 전에 Composer를 먼저 설치해야 합니다. 먼저 작곡가 공식 웹사이트(https://getcomposer.org/download/)로 이동하여 다운로드하고 설치해야 합니다. 설치가 완료된 후, 명령줄에서 Composer가 성공적으로 설치되었는지 확인할 수 있습니다:

$ Composer -v

Lumen의 다운로드 주소는 Lumen 공식 웹사이트에서 확인하거나, Composer를 사용하여 직접 다운로드할 수 있습니다. 다운로드하고 설치하려면 명령줄에 다음 명령을 입력하세요.

$ Composer create-project --prefer-dist laravel/lumen app

여기에서는 작곡가 명령을 사용하여 Lumen 프레임워크를 다운로드하고 이름이 지정된 파일에 설치합니다. 디렉토리에 "app"이 있습니다.

  1. 경로 관리

Lumen 프레임워크의 라우팅 관리는 매우 간단하고 명확합니다. Routes/web.php 파일에 해당 라우팅 규칙만 정의하면 됩니다. 다음은 간단한 라우팅 설정 예시입니다.

<?php

$router->get('/', function () use ($router) {
    return $router->app->version();
});

$router->get('/users', 'UserController@index');
$router->get('/users/{id}', 'UserController@show');
로그인 후 복사

여기서는 세 가지 라우팅 규칙을 정의합니다. 첫 번째는 기본 경로입니다. 웹 사이트에 액세스하면 기본적으로 Lumen 버전 번호가 반환됩니다. 두 번째 경로는 사용자 목록을 얻는 데 사용되며 해당 컨트롤러 메서드는 세 번째 경로에서 "index"입니다. 특정 사용자에 대한 자세한 정보를 얻으려면 UserController에서 해당 컨트롤러 메서드가 "show"입니다.

  1. 컨트롤러 관리

Lumen 프레임워크의 컨트롤러 관리는 Laravel 프레임워크와 유사하며 app/Http/Controllers 디렉터리에 해당 컨트롤러를 정의할 수 있습니다. 다음은 UserController의 예입니다.

<?php

namespace AppHttpControllers;

use IlluminateHttpRequest;
use AppUser;

class UserController extends Controller
{
    public function index()
    {
        $users = User::all();

        return response()->json($users);
    }

    public function show($id)
    {
        $user = User::find($id);

        return response()->json($user);
    }
}
로그인 후 복사

여기에서는 사용자 목록에 해당하고 사용자 세부 정보를 얻는 두 가지 컨트롤러 메서드를 정의합니다. 동시에 Lumen 프레임워크의 응답 메서드를 사용하여 json 형식으로 데이터를 반환합니다.

  1. 데이터베이스 작업

Lumen 프레임워크는 Laravel 프레임워크에 내장된 Eloquent ORM을 통해 데이터베이스 작업을 수행할 수 있습니다. config/database.php 파일에서 해당 데이터베이스를 구성한 후 모델을 통해 데이터베이스 쿼리 및 작업을 수행할 수 있습니다. 다음은 간단한 예입니다.

<?php

namespace App;

use IlluminateDatabaseEloquentModel;

class User extends Model
{
    protected $fillable = ['name', 'email', 'password'];
}
로그인 후 복사

이것은 수정 가능한 필드 이름을 지정하기 위해 채울 수 있는 속성을 정의하는 간단한 사용자 모델입니다. 쿼리 및 수정 작업을 위해 UserController에서 이 모델을 사용할 수 있습니다.

<?php

namespace AppHttpControllers;

use IlluminateHttpRequest;
use AppUser;

class UserController extends Controller
{
    public function index()
    {
        $users = User::all();

        return response()->json($users);
    }

    public function show($id)
    {
        $user = User::find($id);

        return response()->json($user);
    }

    public function store(Request $request)
    {
        $this->validate($request, [
            'name' => 'required',
            'email' => 'required|unique:users',
            'password' => 'required'
        ]);

        $user = User::create([
            'name' => $request->input('name'),
            'email' => $request->input('email'),
            'password' => password_hash($request->input('password'), PASSWORD_DEFAULT)
        ]);

        return response()->json($user, 201);
    }
}
로그인 후 복사

여기서 POST 요청을 수신하고 사용자 데이터를 데이터베이스에 저장하는 저장 메서드를 추가했습니다.

  1. 결과 얻기

마지막으로 명령줄을 사용하여 테스트용 내장 PHP 개발 서버를 시작할 수 있습니다. 프레임워크 루트 디렉터리에서 다음 명령을 실행합니다.

$ php -S localhost:8000 -t public

그런 다음 브라우저에서 http://localhost:8000/users를 방문하여 사용자 목록 정보를 성공적으로 가져옵니다. 마찬가지로 http://localhost:8000/users/1에 액세스하면 ID 1의 특정 사용자 정보를 성공적으로 얻을 수 있습니다.

요약

위는 Lumen 프레임워크의 완전한 API 애플리케이션 개발 과정입니다. Lumen 프레임워크는 Laravel 프레임워크의 뛰어난 기능 중 일부를 유지하면서 가볍고 편리한 API 개발 방법을 제공하므로 소규모 API 애플리케이션과 마이크로서비스를 빠르게 구축하는 데 도움이 됩니다. Lumen 프레임워크에 관심이 있다면 실제 프로젝트에서 사용해 볼 수 있습니다.

위 내용은 PHP 구현 프레임워크: Lumen 프레임워크 소개 튜토리얼의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿