첫 번째 단계는 프로젝트에 Lithe를 설치하는 것입니다. 아직 수행하지 않았다면 터미널에서 다음 명령을 실행하세요.
composer create-project lithephp/lithephp mini-blog-api
이 명령은 Lithe를 사용하여 새 프로젝트를 생성합니다. Lithe는 자동으로 Eloquent를 구성하지만 데이터베이스에 연결하려면 .env 파일의 일부 설정을 조정해야 합니다.
이제 데이터베이스를 구성해 보겠습니다. 프로젝트 루트에서 .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
Lithe는 Eloquent를 자동으로 구성하므로 다음 단계는 Eloquent ORM이 설치되었는지 확인하는 것입니다. 아직 설치하지 않았다면 다음 명령을 실행하여 Eloquent ORM을 설치하세요.
composer require illuminate/database
설치 후 Lithe는 Eloquent ORM을 사용하고 데이터베이스와 상호 작용할 준비가 됩니다. 이제 Mini Blog API
에 맞게 데이터베이스가 올바르게 구성되었습니다.이제 데이터베이스의 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를 사용하여 게시물 테이블을 생성합니다.
마이그레이션과 모델이 준비되었으면 마이그레이션을 실행하여 데이터베이스에 게시물 테이블을 생성해 보겠습니다. 다음 명령을 실행합니다:
php line migrate
이 명령은 마이그레이션에서 정의한 필드를 사용하여 데이터베이스에 게시물 테이블을 생성합니다.
이제 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가지 기본 방법이 있습니다.
이제 Post API의 경로를 정의해 보겠습니다. src/App.php 파일을 열고 다음 코드를 추가하세요:
composer require illuminate/database
위의 코드는 Lithe 앱의 인스턴스를 생성합니다. $app->set('routes', __DIR__ . '/routes'); 줄 Lithe에게 경로 파일을 찾을 위치를 알려줍니다. Lithe는 src/routes 폴더 내의 모든 파일을 자동으로 로드합니다. 각 경로 파일은 이름을 기반으로 URL에 매핑됩니다. 예:
$app->listen(); 라인 Lithe는 요청을 "수신"합니다. 즉, 들어오는 요청을 기다렸다가 정의된 경로로 안내합니다.
이제 src/routes/posts 폴더 안에 /posts 경로를 나타내는 post.php라는 파일을 만들고 다음 코드를 추가하세요.
php line make:model Post
이 경로는 PostController의 메소드를 API URL에 연결합니다.
모든 것이 설정되었으므로 Postman 또는 불면증과 같은 도구를 사용하여 API를 테스트할 수 있습니다. 테스트할 수 있는 엔드포인트는 다음과 같습니다.
이제 Lithe와 Eloquent ORM을 사용하여 Mini Blog API를 만들었습니다! Lithe는 자동으로 Eloquent를 설정했으며 환경 변수를 몇 가지 조정하고 필요한 모델과 컨트롤러를 만들었습니다. 이제 블로그 게시물을 관리할 수 있는 완전한 RESTful API가 생겼습니다.
Lithe 및 Eloquent ORM 사용 방법에 대한 자세한 내용을 보려면 Lithe 공식 문서인 Lithe Documentation을 방문하세요.
위 내용은 Lithe와 Eloquent를 사용하여 미니 블로그 API 만들기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!