oop - php如何通过面向对象实现审核过程(多级审核)
迷茫
迷茫 2017-04-11 10:28:52
0
5
424

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

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

reply all (5)
PHPzhong

责任链模式
https://github.com/TIGERB/easy-tips/blob/master/patterns/chainOfResponsibility/test.php

    洪涛

    不知道是不是这个 。我抄 @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灵活
          具体实现代码你自己写吧 这和算法没什么关系

            Latest Downloads
            More>
            Web Effects
            Website Source Code
            Website Materials
            Front End Template
            About us Disclaimer Sitemap
            php.cn:Public welfare online PHP training,Help PHP learners grow quickly!