php登陆审核,php如何通过面向对象实现审核过程(多级审核)

要求是用php的oop编程,赶脚无从下手,请php大神给出思路和一些伪代码,或者可以用一些设计模式,不胜感激

责任链模式

https://github.com/TIGERB/easy-tips/blob/master/patterns/chainOfResponsibility/test.php

不知道是不是这个 。我抄 @TIGERB 的

<?php

/**

* 行为型模式

*

* php责任链模式

* 理解:把一个对象传递到一个对象链上,直到有对象处理这个对象

* 可以干什么:我们可以做一个filter,或者gateway

*

*

* @author  TIGERB <https://github.com/TIGERB>

* @example 运行 php test.php

*/

// 注册自加载

spl_autoload_register('autoload');

function autoload($class)

{

require dirname($_SERVER['SCRIPT_FILENAME']) . '//..//' . str_replace('\', '/', $class) . '.php';

}

/************************************* test *************************************/

use chainOfResponsibility\HandlerAccessToken;

use chainOfResponsibility\HandlerFrequent;

use chainOfResponsibility\HandlerArguments;

use chainOfResponsibility\HandlerSign;

use chainOfResponsibility\HandlerAuthority;

use chainOfResponsibility\Request;

try {

// 下面我们用责任链模式实现一个api-gateway即接口网关

// 初始化一个请求对象

$request            =  new Request();

// 设置一个请求身份id

$request->requestId = uniqid();

// 初始化一个:令牌校验的handler

$handlerAccessToken =  new HandlerAccessToken();

// 初始化一个:访问频次校验的handler

$handlerFrequent    =  new HandlerFrequent();

// 初始化一个:必传参数校验的handler

$handlerArguments   =  new HandlerArguments();

// 初始化一个:签名校验的handler

$handlerSign        =  new HandlerSign();

// 初始化一个:访问权限校验的handler

$handlerAuthority   =  new HandlerAuthority();

// 构成对象链

$handlerAccessToken->setNext($handlerFrequent)

->setNext($handlerArguments)

->setNext($handlerSign)

->setNext($handlerAuthority);

// 启动网关

$handlerAccessToken->start($request);

} catch (\Exception $e) {

echo $e->getMessage();

}

1.建议使用工厂模式

2.写一个public方法为入口,至于参数系审核内容,和审核人员

3.根据相关审核内容字段实例化相关工厂类

4.1.在相关类判断获取目前审核内容状态

4.2获取相关人员权限

4.1 => 4.2 判断相关人员权限是否可以操作审核内容的下一步动作

4.3 可以及时更新,返回true。否则返回false

工作流吧,这种东西是算法和思想,和语言没关系

你去看一下laravel5的middleware怎么实现的 套用一下就行了

或者你也可以用decorator模式来处理审核多层级的问题,但是不如laravel的closure灵活

具体实现代码你自己写吧 这和算法没什么关系

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值