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