PHPackages                             iwangr/w-provider - 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. iwangr/w-provider

ActiveLibrary

iwangr/w-provider
=================

PHP微服务商SDK

v1.5.5(3y ago)2811MITPHPPHP &gt;=7.2

Since Jan 31Pushed 3y ago1 watchersCompare

[ Source](https://github.com/yzphp/wProvider)[ Packagist](https://packagist.org/packages/iwangr/w-provider)[ RSS](/packages/iwangr-w-provider/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (3)Dependencies (2)Versions (22)Used By (0)

vProdiver-order
===============

[](#vprodiver-order)

提供了一个观察者以及一个基础订单生成 基础的优惠券处理 以及运费处理的观察器，对于不同业务自己可以扩展不同的观察器，以下为示例

```

$cart = array(
	array('goods_id' => 1, 'goods_name' => '课程一', 'price' => 9.9, 'num' => 2),
	array('goods_id' => 2, 'goods_name' => '课程2', 'price' => 19.9, 'num' => 1),
	array('goods_id' => 3, 'goods_name' => '课程3', 'price' => 29.9, 'num' => 3),
);

$decorator = new OrderDecorator($cart);

//先处理成基础订单
$decorator->addDecorator(new BaseDecorator());

//对订单的优惠券处理
$coupon_id      = 1;
$coupon_price   = 20;
$coupon_where   = 100;
$decorator->addDecorator(new CouponDecorator($coupon_id, $coupon_price, $coupon_where, true));

$decorator->addDecorator(new DeliveryDecorator(8, 288));

$order = $decorator->boot();

```

如果需要扩展或者改变为自己的处理只需要在自己的应用目录建立Decorator文件继承DecoratorInterface实现其中的方法，DecoratorInterface 需要实现以下方法

```
