PHPackages                             taqie/laravel-article-receiver - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. taqie/laravel-article-receiver

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

taqie/laravel-article-receiver
==============================

Laravel package for receiving articles

v0.1.2(4mo ago)09MITPHPPHP ^8.5

Since Jan 7Pushed 4mo agoCompare

[ Source](https://github.com/taqie/laravel-article-receiver)[ Packagist](https://packagist.org/packages/taqie/laravel-article-receiver)[ RSS](/packages/taqie-laravel-article-receiver/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (3)Dependencies (8)Versions (4)Used By (0)

Laravel Article Receiver
========================

[](#laravel-article-receiver)

[![Packagist Version](https://camo.githubusercontent.com/cc3d9cb74a7d30d6ecb3ea976f1d68eb92c36995a525b66e0d455188062a0476/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f74617169652f6c61726176656c2d61727469636c652d72656365697665722e737667)](https://packagist.org/packages/taqie/laravel-article-receiver)[![Packagist Downloads](https://camo.githubusercontent.com/8000fce076aa4828797201703ffef1ec779dbc9e0061452225c3cadfc7c4da4c/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f74617169652f6c61726176656c2d61727469636c652d72656365697665722e737667)](https://packagist.org/packages/taqie/laravel-article-receiver)[![PHP Version](https://camo.githubusercontent.com/ea0c719786a05e383701433893b19556f9d2112b139c98571c145c93de2da83a/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f74617169652f6c61726176656c2d61727469636c652d72656365697665722e737667)](https://packagist.org/packages/taqie/laravel-article-receiver)[![License](https://camo.githubusercontent.com/3142539179b9e41ecbfd8ba1b9a3ef86e316126325b8cdd003c46efd02c02fa0/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f74617169652f6c61726176656c2d61727469636c652d72656365697665722e737667)](https://packagist.org/packages/taqie/laravel-article-receiver)

Laravel package for receiving articles from external systems.

PL
--

[](#pl)

### Opis

[](#opis)

Paczka udostepnia gotowe API do odbioru artykulow oraz powiazanych zasobow (autorzy, kategorie, tagi, media). Zawiera walidacje, idempotency, limity rate oraz punkty zaczepienia (hooks) do integracji z Twoja logika.

### Wymagania

[](#wymagania)

- PHP 8.5+
- Laravel 11 lub 12
- Laravel Sanctum

### Instalacja

[](#instalacja)

```
composer require taqie/laravel-article-receiver
```

### Konfiguracja

[](#konfiguracja)

Publikacja configu:

```
php artisan vendor:publish --tag=article-receiver-config
```

Publikacja migracji (opcjonalnie):

```
php artisan vendor:publish --tag=article-receiver-migrations
```

### Hooki

[](#hooki)

Przyklady hookow przed/po create/update/delete:

```
// config/article-receiver.php
'hooks' => [
    'before_create' => fn (ArticleData $data) => $data,
    'after_create' => fn (Article $article, ArticleData $data) => null,
    'before_update' => fn (Article $article, ArticleData $data) => $data,
    'after_update' => fn (Article $article, ArticleData $data) => null,
    'before_delete' => fn (Article $article) => null,
    'after_delete' => fn (int $articleId, array $payload) => null,
    'author' => [
        'before_create' => fn (AuthorData $data) => $data,
        'after_create' => fn (Author $author, AuthorData $data) => null,
    ],
    'category' => [
        'before_create' => fn (CategoryData $data) => $data,
        'after_create' => fn (Category $category, CategoryData $data) => null,
    ],
    'tag' => [
        'before_create' => fn (TagData $data) => $data,
        'after_create' => fn (Tag $tag, TagData $data) => null,
    ],
    'media' => [
        'before_create' => fn (UploadedFile $file, ?string $altText, ?int $articleId, ?string $folder) => null,
        'after_create' => fn (Media $media) => null,
    ],
],
```

Hooki moga byc closure, `Class@method` lub callable array. `before_*` moze zwrocic zmodyfikowany DTO.

### Nadpisywanie zasobow (Resources)

[](#nadpisywanie-zasobow-resources)

```
// config/article-receiver.php
'response' => [
    'resource' => null,
    'resources' => [
        'article' => \App\Http\Resources\ArticleResource::class,
        'author' => \App\Http\Resources\AuthorResource::class,
        'category' => \App\Http\Resources\CategoryResource::class,
        'tag' => \App\Http\Resources\TagResource::class,
        'media' => \App\Http\Resources\MediaResource::class,
    ],
],
```

### Mapowanie pol

[](#mapowanie-pol)

```
// config/article-receiver.php
'field_mapping' => [
    'title' => 'headline',
    'lead' => 'excerpt',
    'meta_description' => 'meta_desc',
    'body' => 'content',
    'author_id' => 'user_id',
    'category_id' => 'section_id',
    'featured_image_url' => 'featured_image',
    'published_at' => 'published_at',
    'metadata' => 'metadata',
],
```

Mapowanie jest stosowane przy create/update artykulu.

### Prefix tabel

[](#prefix-tabel)

```
// config/article-receiver.php
'table_prefix' => 'ar_',
```

Domyslnie tabele maja prefix `ar_`, np. `ar_articles`.

### Testy i pokrycie

[](#testy-i-pokrycie)

Uruchomienie testow:

```
vendor/bin/pest
```

Pokrycie kodu (wymaga wsparcia Xdebug lub PCOV):

```
vendor/bin/pest --coverage
```

EN
--

[](#en)

### Overview

[](#overview)

Provides a ready-to-use API for receiving articles and related resources (authors, categories, tags, media). Includes validation, idempotency, rate limits, and hooks for integration with your own logic.

### Requirements

[](#requirements)

- PHP 8.5+
- Laravel 11 or 12
- Laravel Sanctum

### Installation

[](#installation)

```
composer require taqie/laravel-article-receiver
```

### Configuration

[](#configuration)

Publish config:

```
php artisan vendor:publish --tag=article-receiver-config
```

Publish migrations (optional):

```
php artisan vendor:publish --tag=article-receiver-migrations
```

### Hooks

[](#hooks)

```
// config/article-receiver.php
'hooks' => [
    'before_create' => fn (ArticleData $data) => $data,
    'after_create' => fn (Article $article, ArticleData $data) => null,
    'before_update' => fn (Article $article, ArticleData $data) => $data,
    'after_update' => fn (Article $article, ArticleData $data) => null,
    'before_delete' => fn (Article $article) => null,
    'after_delete' => fn (int $articleId, array $payload) => null,
    'author' => [
        'before_create' => fn (AuthorData $data) => $data,
        'after_create' => fn (Author $author, AuthorData $data) => null,
    ],
    'category' => [
        'before_create' => fn (CategoryData $data) => $data,
        'after_create' => fn (Category $category, CategoryData $data) => null,
    ],
    'tag' => [
        'before_create' => fn (TagData $data) => $data,
        'after_create' => fn (Tag $tag, TagData $data) => null,
    ],
    'media' => [
        'before_create' => fn (UploadedFile $file, ?string $altText, ?int $articleId, ?string $folder) => null,
        'after_create' => fn (Media $media) => null,
    ],
],
```

Hooks can be closures, `Class@method` strings, or callable arrays. `before_*` hooks may return a modified DTO.

### Resource Overrides

[](#resource-overrides)

```
// config/article-receiver.php
'response' => [
    'resource' => null,
    'resources' => [
        'article' => \App\Http\Resources\ArticleResource::class,
        'author' => \App\Http\Resources\AuthorResource::class,
        'category' => \App\Http\Resources\CategoryResource::class,
        'tag' => \App\Http\Resources\TagResource::class,
        'media' => \App\Http\Resources\MediaResource::class,
    ],
],
```

### Field Mapping

[](#field-mapping)

```
// config/article-receiver.php
'field_mapping' => [
    'title' => 'headline',
    'lead' => 'excerpt',
    'meta_description' => 'meta_desc',
    'body' => 'content',
    'author_id' => 'user_id',
    'category_id' => 'section_id',
    'featured_image_url' => 'featured_image',
    'published_at' => 'published_at',
    'metadata' => 'metadata',
],
```

Mapping is applied in the article create/update actions before saving.

### Table prefix

[](#table-prefix)

```
// config/article-receiver.php
'table_prefix' => 'ar_',
```

By default tables use the `ar_` prefix, e.g. `ar_articles`.

### Testing and coverage

[](#testing-and-coverage)

```
vendor/bin/pest
```

Coverage (requires Xdebug or PCOV):

```
vendor/bin/pest --coverage
```

Status
------

[](#status)

This package is under active development. See `docs/PLAN-LARAVEL-PACKAGE-ARTICLE-RECEIVER.md` for the roadmap.

Documentation
-------------

[](#documentation)

- Integration guide: `docs/INTEGRATION-GUIDE.md`
- API specification: `docs/TARGET-SITE-API-SPECIFICATION.md`
- OpenAPI (Markdown): `docs/OPENAPI.md`

License
-------

[](#license)

MIT.

###  Health Score

34

—

LowBetter than 77% of packages

Maintenance77

Regular maintenance activity

Popularity4

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity44

Maturing project, gaining track record

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

3

Last Release

125d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/6cc9a0a11384925082476ffe6ffc8e4cf80df32a6da7fc6f6b85c166e064d24d?d=identicon)[taqie](/maintainers/taqie)

---

Tags

laravelarticlesreceiver

###  Code Quality

TestsPest

Static AnalysisRector

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/taqie-laravel-article-receiver/health.svg)

```
[![Health](https://phpackages.com/badges/taqie-laravel-article-receiver/health.svg)](https://phpackages.com/packages/taqie-laravel-article-receiver)
```

###  Alternatives

[barryvdh/laravel-ide-helper

Laravel IDE Helper, generates correct PHPDocs for all Facade classes, to improve auto-completion.

14.9k123.0M687](/packages/barryvdh-laravel-ide-helper)[interaction-design-foundation/laravel-geoip

Support for multiple Geographical Location services.

17221.0k3](/packages/interaction-design-foundation-laravel-geoip)[nedwors/navigator

A Laravel package to ease defining navigation menus

433.1k](/packages/nedwors-navigator)[xefi/faker-php-laravel

Faker php integration with laravel

1915.1k](/packages/xefi-faker-php-laravel)[dcblogdev/laravel-junie

Install pre-configured guides for Jetbrains Junie

392.5k](/packages/dcblogdev-laravel-junie)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
