为PHP7简化动作链操作

dev-master 2016-09-17 13:29 UTC

This package is not auto-updated.

Last update: 2024-09-14 19:20:16 UTC


README

Build Status Minimum PHP Version Dependency Status

关于

这是一个简单的库,它使得链式操作动作/处理器变得更容易。对于任何需要以特定顺序重复使用代码片段的数据处理都非常有用。

这个库受到责任链设计模式和类似中间件的方法的启发,其中一个中间件执行其逻辑,并在条件满足时运行下一个中间件。

如何安装它?

composer require bartosz-maciaszek/chain

如何使用它?

三步简单操作

  1. 创建一个实现了 BM\Chain\ChainContextInterface 的上下文类。
  2. 创建一个 BM\Chain\ProcessorsQueue 的实例,并将其与处理器注册。
  3. 通过调用 execute() 方法并传递上下文对象来执行链。

什么是上下文类?

这是一个存储一些信息并传递给每个已注册处理器的类。上下文可以包含一些初始输入数据,可以是任何类型。处理器旨在在执行过程中使用这些数据。显然,它们可以在上下文中存储任何东西。这里由您负责。

什么是处理器?

处理器是包含要执行的一些逻辑的 callable,可以是闭包或实现 __invoke 方法的类。处理器总是接受两个参数:上下文和队列中的下一个处理器。它们负责执行下一个处理器,否则链将中断。

什么是处理器队列?

处理器队列是一个对象,它按给定顺序聚合处理器。它公开了允许管理处理器的各种方法。

什么是链?

链是一个负责执行处理器队列并将上下文对象传递给它们的类。

有任何示例吗?

请参阅这里