[ Laravel 5.7 文档 ] 官方扩展包 —— 订阅支付解决方案:Laravel Cashier

简介 Laravel Cashier 为通过 Stripe 和 Braintree 实现订阅支付服务提供了一个优雅的流式接口。它封装了几乎所有你恐惧编写的样板化的订阅支付代码。除了基本的订阅管理外,Cashier 还支持处理优惠券、订阅升级/替换、订阅“数量”、取消宽限期,甚至生成 PDF 发票。 注:如果你只需要一次性支付,并不提供订阅,就不应该使用 Cashier,而是直接使用 S...

[ Laravel 5.7 文档 ] 数据库操作 —— Redis

简介 Redis 是一个开源的、高级的键值对存储系统,经常被用作数据结构服务器,因为其支持字符串、Hash、列表、集合和有序集合等数据结构。 在 Laravel 中使用 Redis 之前,需要通过 Composer 安装 predis/predis 包: composer require predis/predis 作为替代方案,你还可以通过 PECL 安装 PHP 扩展 PhpRedi...

[ Laravel 5.7 文档 ] 进阶系列 —— 事件

简介 Laravel 事件提供了简单的观察者模式实现,允许你订阅和监听应用中的事件。事件类通常存放在 app/Events 目录,监听器存放在 app/Listeners。如果你在应用中没有看到这些目录,不要担心,它们会在你使用 Artisan 命令生成事件和监听器的时候自动创建。 事件为应用功能模块解耦提供了行之有效的解决办法,因为单个事件可以有多个监听器而这些监听器之间并不相互依赖。...

[ Laravel 5.6 文档 ] 官方扩展包 —— 订阅支付解决方案:Laravel Cashier

简介 Laravel Cashier 为通过 Stripe 和 Braintree 实现订阅支付服务提供了一个优雅的流式接口。它封装了几乎所有你恐惧编写的样板化的订阅支付代码。除了基本的订阅管理外,Cashier 还支持处理优惠券、订阅升级/替换、订阅“数量”、取消宽限期,甚至生成 PDF 发票。 注:如果你只需要一次性支付,并不提供订阅,就不应该使用 Cashier,而是直接使用 ...

[ Laravel 5.6 文档 ] 进阶系列 —— 事件

简介 Laravel 事件提供了简单的观察者模式实现,允许你订阅和监听应用中的事件。事件类通常存放在 app/Events 目录,监听器存放在 app/Listeners。如果你在应用中没有看到这些目录,不要担心,它们会在你使用 Artisan 命令生成事件和监听器的时候自动创建。 事件为应用功能模块解耦提供了行之有效的解决办法,因为单个事件可以有多个监听器而这些监听器之间并不相...

[ Laravel 5.6 文档 ] 数据库操作 —— Redis

简介 Redis 是一个开源的、高级的键值对存储系统,经常被用作数据结构服务器,因为其支持字符串、Hash、列表、集合和有序集合等数据结构。 在 Laravel 中使用 Redis 之前,需要通过 Composer 安装 predis/predis 包: composer require predis/predis 作为替代方案,你还可以通过 PECL 安装 PHP 扩展...

[ Laravel 5.5 文档 ] 官方扩展包 —— 订阅支付解决方案:Laravel Cashier

简介 Laravel Cashier 为通过 Stripe 和 Braintree 实现订阅支付服务提供了一个优雅的流式接口。它封装了几乎所有你恐惧编写的样板化的订阅支付代码。除了基本的订阅管理外,Cashier 还支持处理优惠券、订阅升级/替换、订阅“数量”、取消宽限期,甚至生成 PDF 发票。 注:如果你只需要一次性支付,并不提供订阅,就不应该使用 Cashier,而是直接使...

[ Laravel 5.5 文档 ] 进阶系列 —— 键值对存储系统 Redis 在 Laravel 中的使用

简介 Redis 是一个开源的、高级的键值对存储系统,经常被用作数据结构服务器,因为其支持字符串、Hash、列表、集合和有序集合等数据结构。 在 Laravel 中使用 Redis 之前,需要通过 Composer 安装 predis/predis 包: composer require predis/predis 作为替代方案,你还可以通过 PECL 安装 PHP ...

[ Laravel 5.5 文档 ] 进阶系列 —— 通过事件和事件监听器实现服务解耦

简介 Laravel 事件提供了简单的观察者模式实现,允许你订阅和监听应用中的事件。事件类通常存放在 app/Events 目录,监听器存放在 app/Listeners。如果你在应用中没有看到这些目录,不要担心,它们会在你使用 Artisan 命令生成事件和监听器的时候自动创建。 事件为应用功能模块解耦提供了行之有效的解决办法,因为单个事件可以有多个监听器而这些监听器之间并...

RabbitMQ 从入门到放弃系列笔记(五):消息订阅(Publish/Subscribe)

之前都是将消息发送到同一个 Consumer,而现在我们需将其发送到多个 Consumer。 我们将创建一个日志系统,它包含两个部分:第一个部分负责发出log(Producer),第二个部分负责接收并打印(Consumer)。我们将构建两个 Consumer,第一个将 log 写到物理磁盘上;第二个将 log 输出到屏幕。 "Fanout" not telling an exch...