본문으로 건너뛰기

시작하기

패키지를 설치하고 Eloquent 쿼리와 항목 구조를 정의한 다음 피드 파일을 생성합니다. 기존 Laravel 애플리케이션에서 첫 번째 내보내기는 약 5분이면 완성할 수 있습니다.

요구 사항

  • PHP 8.2 또는 Composer가 허용하는 최신 8.x 버전
  • Laravel 11.x, 12.x 또는 13.x
  • 구성된 데이터베이스와 파일시스템 디스크

설치 및 준비

composer require dragon-code/laravel-feeds
php artisan vendor:publish --tag="feeds"
php artisan migrate
php artisan make:feed User --item

생성기는 피드 클래스와 항목 클래스를 만듭니다. 피드를 등록하는 데이터베이스 변경 사항도 생성합니다. 앞의 migrate 명령 이후에 생성되었다면 첫 생성 전에 해당 마이그레이션을 실행하십시오.

데이터 소스 정의

레코드를 청크 단위로 읽을 수 있도록 Eloquent Builder를 직접 반환하십시오.

namespace App\Feeds;

use App\Feeds\Items\UserFeedItem;
use App\Models\User;
use DragonCode\LaravelFeed\Feeds\Feed;
use DragonCode\LaravelFeed\Feeds\Items\FeedItem;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model;

class UserFeed extends Feed
{
public function builder(): Builder
{
return User::query()
->whereNotNull('email_verified_at')
->where('created_at', '>', now()->subYear());
}

public function item(Model $model): FeedItem
{
return new UserFeedItem($model);
}
}

각 항목 정의

namespace App\Feeds\Items;

use DragonCode\LaravelFeed\Feeds\Items\FeedItem;

/** @property-read \App\Models\User $model */
class UserFeedItem extends FeedItem
{
public function toArray(): array
{
return [
'name' => $this->model->name,
'email' => $this->model->email,
];
}
}

파일 생성

php artisan feed:generate

명령은 각 피드의 상태를 표시하며, 일반 콘솔 출력에는 생성된 파일 경로가 포함되지 않습니다. 피드 클래스는 기본적으로 XML 형식과 public 디스크를 사용합니다. 두 값 모두 피드 클래스에서 변경하십시오.

다음 단계