reliqarts / laravel-logistiq
该软件包已被放弃且不再维护。未建议替代软件包。
适用于Laravel的多功能跟踪/物流软件包。
v0.0.1
2019-07-12 14:42 UTC
Requires
- illuminate/support: ^5.8
- reliqarts/laravel-common: ^2.0@dev
- spatie/laravel-event-projector: ^1.3
Requires (Dev)
- orchestra/testbench: ^3.8
- phpro/grumphp: ^0.15.2
- phpunit/phpunit: ^8.1
- wearejust/grumphp-extra-tasks: ^2.2
This package is auto-updated.
Last update: 2020-12-14 20:16:49 UTC
README
适用于Laravel的多功能跟踪/物流软件包
Logistiq是一个即插即用的跟踪软件包,允许您跟踪任何可跟踪的实体(例如订单、发货等)。它高度可配置且易于使用。
主要特性
- 通过不同的用户定义状态跟踪任何Eloquent 模型。
- 配置一个或多个事件,在模型进入任何用户定义状态时触发。
- 支持在使用事件源(这是什么?)时使用 laravel-event-projector。
安装 & 使用
-
通过composer安装
composer require reliqarts/laravel-logistiq
-
配置 & 设置
-
通过artisan发布配置文件
php artisan vendor:publish --tag=reliqarts-logistiq-config
-
您要跟踪的模型必须实现
ReliqArts\Logistiq\Tracking\Contracts\Trackable
或扩展ReliqArts\Logistiq\Tracking\Models\Trackable
。例如:
App\Order::class
<?php // ... use ReliqArts\Logistiq\Tracking\Models\Trackable; class Order extends Trackable { // ... }
-
创建您的
Status
模型并实现其中的ReliqArts\Logistiq\Tracking\Contracts\Status
接口。例如:
App\Status::class
<?php // ... use ReliqArts\Logistiq\Utility\Eloquent\Model; use ReliqArts\Logistiq\Tracking\Contracts\Status as LogistiqStatusContract; class Status extends Model implements LogistiqStatusContract { // ... }
-
配置
event_map
,在特定Status
被触发时触发额外的事件。例如:
/config/reliqats-logistiq
的摘录<?php // ... 'event_map' => [ '230c6c51-3b5b-4eea-9ef2-415e4d8fee00' => [ProductShipped::class, ProductMoved::class] ], // ...
说明: 上述代码片段中,每当标识符为
230c6c51-3b5b-4eea-9ef2-415e4d8fee00
的状态被可跟踪模型达到时,将触发ProductShipped
和ProductMoved
事件。您完全控制这些事件触发的内容,但是每个事件必须期望一个Trackable
作为第一个构造函数参数。
-
更多信息即将到来... 🚚
许可证
MIT许可证(MIT)。有关更多信息,请参阅 LICENSE。