chencha/conveyor

命令和请求的传输系统

0.1.6 2015-03-31 09:14 UTC

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