Експорт великих обсягів даних у фіди за допомогою пакета Feeds для Laravel

Перекладено ШІ
Оригінал: Laravel News
Оновлено: 16 вересня, 2025
Хочете дізнатися, як швидко та просто експортувати великі обсяги даних у формати, придатні для ринку? У нашій статті ви дізнаєтеся про можливості пакета Feeds для Laravel і як його налаштувати для створення зручних фідів
Пакет Feeds для Laravel, створений Андрієм Хеллдаром, пропонує простий і швидкий спосіб експорту великих обсягів даних у фіди для ринків та інших споживачів. Основою цього пакета є фіди, які можна створити за допомогою команди make:feed у Artisan. Після створення фіда ви можете визначити, як він працюватиме:
namespace App\Feeds;

use App\Feeds\Items\UserFeedItem;
use App\Models\User;
use DragonCode\LaravelFeed\Enums\FeedFormatEnum;
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
{
    protected FeedFormatEnum $format = FeedFormatEnum::Json;

    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);
    }
}
Разом із класом UserFeed існує також клас UserFeedItem, який визначає кожен елемент фіда:
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,
        ];
    }
}
Ці фіди генеруються за допомогою команди feed:generate, яка створює фіди у статичних файлах (за замовчуванням зберігаються у папці public). Документація містить рецепти для поширених форматів, таких як XML-сайти, RSS та інші.

# Основні можливості

💻 Розпочати роботу з цим пакетом можна на GitHub: TheDragonCode/laravel-feeds. 📖 Для установки та налаштування цього пакета ознайомтеся з документацією