chencha / conveyor
命令和请求的传输系统
0.1.6
2015-03-31 09:14 UTC
Requires
- illuminate/support: ~5.0
- jeremeamia/superclosure: ~2.0
- phpspec/phpspec: ~2.1@dev
- symfony/var-dumper: ~2.6
This package is not auto-updated.
Last update: 2024-09-14 17:19:30 UTC
README
# 命令和请求传输系统
## 基本用法
### 初始化代码
$userDbBelt=new UserDbBelt(); //Extends Chencha\Conveyor\Belt
$userDbBelt->registerMachines(SaveInDatabase(), new UpdateElastic());
机器扩展 \Chencha\Conveyor\Machine
$mainConveyor=new Chencha\Conveyor();
$mainConveyor->registerBelt($userBelt);
### 运行带
$userDbBelt =$mainConveyor->makeBelt(UserDbBelt::class);
$subject=new User("email"=>"test@test.com","password"=>"good_password");
$$userDbBelt->run($subject);
$subject->getResponse();
$subject->hasError();
$subject->getErrors();
## 处理流程
处理流程是连接在一起的带子。要停止在下一个带子之前的过程,应抛出 StopBeltException。
$userRegistration= new RegistrationProcess();
$userRegistration->registerBelts($userValidation,$userDbBelt); //Ordering is important
$mainConveyor->registerProcess($userRegistration);
### 运行流程 $userRegistrationProcess=$mainConveyor->makeProcess(RegistrationProcess::class); $userRegistrationProcess->run($user);
## 异常 StopProcessException // 这种异常将在运行下一个带子之前停止流程,所有其他异常将立即冒泡
## 部署状态
This system is not ready for production use changes expected coming days
## 示例
要检查示例,请参阅以下内容
- examples/process_example.php
- examples/belt_example.php