bartosz-maciaszek / chain
为PHP7简化动作链操作
dev-master
2016-09-17 13:29 UTC
Requires
- php: >=7.0
Requires (Dev)
- henrikbjorn/phpspec-code-coverage: dev-feature/code-coverage-ver-4
- mockery/mockery: ~1.0@dev
- phpmd/phpmd: ~2.4
- phpspec/phpspec: ~2.5
- phpspec/prophecy: ~1.6@dev
- phpunit/phpcov: ~3.1
- phpunit/phpunit: ~5.4
- squizlabs/php_codesniffer: ~2.6
This package is not auto-updated.
Last update: 2024-09-14 19:20:16 UTC
README
关于
这是一个简单的库,它使得链式操作动作/处理器变得更容易。对于任何需要以特定顺序重复使用代码片段的数据处理都非常有用。
这个库受到责任链设计模式和类似中间件的方法的启发,其中一个中间件执行其逻辑,并在条件满足时运行下一个中间件。
如何安装它?
composer require bartosz-maciaszek/chain
如何使用它?
三步简单操作
- 创建一个实现了
BM\Chain\ChainContextInterface
的上下文类。 - 创建一个
BM\Chain\ProcessorsQueue
的实例,并将其与处理器注册。 - 通过调用
execute()
方法并传递上下文对象来执行链。
什么是上下文类?
这是一个存储一些信息并传递给每个已注册处理器的类。上下文可以包含一些初始输入数据,可以是任何类型。处理器旨在在执行过程中使用这些数据。显然,它们可以在上下文中存储任何东西。这里由您负责。
什么是处理器?
处理器是包含要执行的一些逻辑的 callable
,可以是闭包或实现 __invoke
方法的类。处理器总是接受两个参数:上下文和队列中的下一个处理器。它们负责执行下一个处理器,否则链将中断。
什么是处理器队列?
处理器队列是一个对象,它按给定顺序聚合处理器。它公开了允许管理处理器的各种方法。
什么是链?
链是一个负责执行处理器队列并将上下文对象传递给它们的类。
有任何示例吗?
请参阅这里。