Перайсці да асноўнага змесціва

Пачатак працы

Усталюйце пакет, вызначце запыт Eloquent і структуру элемента, затым згенеруйце файл стужкі. У гатовай праграме Laravel першы працоўны экспарт займае каля пяці хвілін.

Патрабаванні

  • PHP 8.2 або пазнейшы выпуск 8.x, які прымае Composer
  • 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, каб запісы чыталіся блокамі.

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. Змяніце патрэбнае значэнне ў класе стужкі.

Наступныя крокі