시작하기
패키지를 설치하고 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 디스크를 사용합니다. 두 값 모두 피드 클래스에서 변경하십시오.