sys-service.md 2.3 KB

服务层 Server

  • 说明
  • 配置
  • 调用
  • 各个服务介绍

说明

​ service层的作用就是把这些需要多个model参与的复杂业务逻辑单独封装出来,这些model之间不再发生直接的依赖,而是在service层内协同完成逻辑。service层的第一个目的其实就是对model层进行解耦

配置

如果需要新服务层调用方法 请在 services\Application 中的 childService 添加,例如:

/**
 * @var array
 */
public $childService = [
    'example' => [
        'class' => 'services\example\ExampleService',
        // 子服务
        'childService' => [
            'rule' => [
                'class' => 'services\example\rule\RuleService',
            ],
        ],
      'pay' => 'services\common\PayService',
    ],
];

以上例子代表了添加了一个 example 服务及 example 的子服务 rule

调用

/*
*$mall_id 商户ID
*$user_id 用户ID
*$orders['order_no'] 订单编号
*$orders['amount'] 总金额
*$orders['title'] 标题
*$orders['order_type'] 订单类型 
*/
// 调用 pay 服务里面的 createTrade() 方法
$res = Yii::$app->services->pay->createTrade($mall_id, $user_id, $orders);

// 调用 example 的子服务 rule 里面的 index() 方法
$childService = Yii::$app->services->example->rule->index();

实际上系统内调用基本上没有用到子服务,自己可以按需使用

各个服务介绍

  1. 插件服务
  2. 插件配置服务
  3. 插件菜单服务
  4. 文件资源服务
  5. 网站配置服务
  6. 支付服务
  7. 授权服务
  8. 菜单服务
  9. 菜单分类服务
  10. 参数验证服务
  11. Mq服务
  12. 事件服务
  13. 权限服务
  14. 授权的权限服务
  15. 角色服务
  16. 权限分配服务
  17. Api授权key服务
  18. 数据统计服务