> 백엔드 개발 > PHP 튜토리얼 > Lithe와 Eloquent를 사용하여 미니 블로그 API 만들기

Lithe와 Eloquent를 사용하여 미니 블로그 API 만들기

Linda Hamilton
풀어 주다: 2024-11-30 10:56:10
원래의
486명이 탐색했습니다.

Creating a Mini Blog API with Lithe and Eloquent

1단계: Lithe 설치

첫 번째 단계는 프로젝트에 Lithe를 설치하는 것입니다. 아직 수행하지 않았다면 터미널에서 다음 명령을 실행하세요.

composer create-project lithephp/lithephp mini-blog-api
로그인 후 복사
로그인 후 복사

이 명령은 Lithe를 사용하여 새 프로젝트를 생성합니다. Lithe는 자동으로 Eloquent를 구성하지만 데이터베이스에 연결하려면 .env 파일의 일부 설정을 조정해야 합니다.


2단계: 데이터베이스 구성

이제 데이터베이스를 구성해 보겠습니다. 프로젝트 루트에서 .env 파일을 열고 데이터베이스 설정을 편집합니다. MySQL에서 Eloquent ORM을 사용하려면 설정이 다음과 같아야 합니다.

DB_CONNECTION_METHOD=eloquent
DB_CONNECTION=mysql
DB_HOST=localhost
DB_NAME=lithe_eloquent
DB_USERNAME=root
DB_PASSWORD=
DB_SHOULD_INITIATE=true
로그인 후 복사
로그인 후 복사

LitheEloquent를 자동으로 구성하므로 다음 단계는 Eloquent ORM이 설치되었는지 확인하는 것입니다. 아직 설치하지 않았다면 다음 명령을 실행하여 Eloquent ORM을 설치하세요.

composer require illuminate/database
로그인 후 복사
로그인 후 복사

설치 후 LitheEloquent ORM을 사용하고 데이터베이스와 상호 작용할 준비가 됩니다. 이제 Mini Blog API

에 맞게 데이터베이스가 올바르게 구성되었습니다.

3단계: 게시물 모델 생성 및 마이그레이션

이제 데이터베이스의 posts 테이블을 정의하기 위한 모델과 마이그레이션을 생성해 보겠습니다.

먼저 다음 명령을 사용하여 Post 모델을 생성합니다.

php line make:model Post
로그인 후 복사
로그인 후 복사

다음으로 post 테이블에 대한 마이그레이션을 만듭니다.

php line make:migration create_posts_table
로그인 후 복사

이제 모델과 마이그레이션이 생성되었습니다. 구성해 보겠습니다.

포스트 모델

Post 모델은 src/models/Post.php에 있습니다. 다음과 같이 파일을 편집하세요.

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Post extends Model
{
    // The table associated with the model
    protected $table = 'posts';

    // Fields that can be filled via mass-assignment
    protected $fillable = ['title', 'content'];

    // Use timestamps for created_at and updated_at
    public $timestamps = true;
}
로그인 후 복사

이 코드에서는 제목 및 콘텐츠 필드를 작성 가능으로 정의합니다. 즉, 게시물을 작성하거나 업데이트할 때 자동으로 채워질 수 있습니다.

게시물 테이블 마이그레이션

생성된 마이그레이션은 src/database/migrations/{timestamp}_create_posts_table.php에 위치합니다. 마이그레이션을 편집하여 게시물 테이블의 구조를 만듭니다.

use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Capsule\Manager as Capsule;

return new class
{
    public function up(): void
    {
         Capsule::schema()->create('posts', function (Blueprint $table) {
            $table->id(); // Creates the auto-incrementing id field
            $table->string('title'); // Creates the title field
            $table->text('content'); // Creates the content field
            $table->timestamps(); // Creates created_at and updated_at fields
        });
    }

    public function down(): void
    {
         Capsule::schema()->dropIfExists('posts');
    }
};
로그인 후 복사

여기에서는 ID, 제목, 콘텐츠 필드와 날짜-시간 필드 made_at 및 update_at를 사용하여 게시물 테이블을 생성합니다.


4단계: 마이그레이션 실행

마이그레이션과 모델이 준비되었으면 마이그레이션을 실행하여 데이터베이스에 게시물 테이블을 생성해 보겠습니다. 다음 명령을 실행합니다:

php line migrate
로그인 후 복사

이 명령은 마이그레이션에서 정의한 필드를 사용하여 데이터베이스에 게시물 테이블을 생성합니다.


5단계: 포스트 컨트롤러 생성

이제 API의 게시물을 관리하기 위한 컨트롤러를 만들어 보겠습니다. 컨트롤러는 HTTP 요청을 처리하고 체계적인 방식으로 데이터를 반환하는 역할을 담당합니다.

컨트롤러를 생성하려면 다음을 실행하세요.

composer create-project lithephp/lithephp mini-blog-api
로그인 후 복사
로그인 후 복사

이렇게 하면 src/http/Controllers/PostController.php에 파일이 생성됩니다. 게시물에 대한 CRUD(생성, 읽기, 업데이트 및 삭제) 메소드를 포함하도록 이 파일을 편집하세요.

다음은 PostController의 모양에 대한 예입니다.

DB_CONNECTION_METHOD=eloquent
DB_CONNECTION=mysql
DB_HOST=localhost
DB_NAME=lithe_eloquent
DB_USERNAME=root
DB_PASSWORD=
DB_SHOULD_INITIATE=true
로그인 후 복사
로그인 후 복사

여기에는 5가지 기본 방법이 있습니다.

  • index: 모든 게시물을 나열합니다.
  • show: 특정 게시물을 표시합니다.
  • store : 새 글을 작성합니다.
  • 업데이트: 기존 게시물을 업데이트합니다.
  • destroy: 게시물을 삭제합니다.

6단계: API 경로 정의

이제 Post API의 경로를 정의해 보겠습니다. src/App.php 파일을 열고 다음 코드를 추가하세요:

composer require illuminate/database
로그인 후 복사
로그인 후 복사

위의 코드는 Lithe 앱의 인스턴스를 생성합니다. $app->set('routes', __DIR__ . '/routes'); 줄 Lithe에게 경로 파일을 찾을 위치를 알려줍니다. Lithe는 src/routes 폴더 내의 모든 파일을 자동으로 로드합니다. 각 경로 파일은 이름을 기반으로 URL에 매핑됩니다. 예:

  • cart.php 파일은 /cart 경로로 이동됩니다.
  • admin/dashboard.php 파일은 /admin/dashboard 경로로 이동합니다.

$app->listen(); 라인 Lithe는 요청을 "수신"합니다. 즉, 들어오는 요청을 기다렸다가 정의된 경로로 안내합니다.

이제 src/routes/posts 폴더 안에 /posts 경로를 나타내는 post.php라는 파일을 만들고 다음 코드를 추가하세요.

php line make:model Post
로그인 후 복사
로그인 후 복사

이 경로는 PostController의 메소드를 API URL에 연결합니다.


7단계: API 테스트

모든 것이 설정되었으므로 Postman 또는 불면증과 같은 도구를 사용하여 API를 테스트할 수 있습니다. 테스트할 수 있는 엔드포인트는 다음과 같습니다.

  • GET /posts: 모든 게시물을 반환합니다.
  • GET /posts/:id: 특정 게시물을 반환합니다.
  • POST /posts: 새 게시물을 만듭니다.
  • PUT /posts/:id: 기존 게시물을 업데이트합니다.
  • DELETE /posts/:id: 게시물을 삭제합니다.

이제 LitheEloquent ORM을 사용하여 Mini Blog API를 만들었습니다! Lithe는 자동으로 Eloquent를 설정했으며 환경 변수를 몇 가지 조정하고 필요한 모델과 컨트롤러를 만들었습니다. 이제 블로그 게시물을 관리할 수 있는 완전한 RESTful API가 생겼습니다.

LitheEloquent ORM 사용 방법에 대한 자세한 내용을 보려면 Lithe 공식 문서인 Lithe Documentation을 방문하세요.

위 내용은 Lithe와 Eloquent를 사용하여 미니 블로그 API 만들기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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