PHP - 动态“验证器”的设计模式

时间:2017-04-27 09:51:04

标签: php design-patterns

我在努力解决以下问题:

  1. 用户通过表单发送消息
  2. 请求传递给控制器​​
    (在控制器中)
  3. 应用程序检查用户是否已登录
  4. 应用程序检查用户是否有权发送消息
  5. 应用程序准备(过滤/验证)从应用程序发送的数据
  6. 控制器将数据传递到Service
    (在役)
  7. 服务将数据插入数据库
  8. 服务将结果返回给控制器
    (在控制器中)
  9. 应用创建View Model并将结果发送到用户的浏览器
  10. 问题
    用户具有状态(它的角色类型但更详细),我必须检查用户的状态是否允许特定操作。

    例如:
    我有“ status-checkers ”:
    - MessageChecker - 用于检查具有提供状态的用户是否可以发送消息的类 - LimitChecker - 用于检查提供状态的用户是否未超出消息限制的类 - SomethingElseChecker

    我正在寻找一种方法(设计模式)轻松添加/删除检查器而无需修改控制器或服务
    假设我有这些活动检查器的配置数组:

    checker.config.php

    return [
        'Namespace\Checker\MessageChecker',
        'Namespace\Checker\LimitChecker',
        'Namespace\Checker\FooChecker'
    ];
    

    下一步是什么?我应该将它传递给控制器​​并在此级别上检查吗?或者在这一层上进行维修和检查?什么设计模式适合我的问题?

0 个答案:

没有答案