Skip to content

服务层开发指南

Service 层是插件的业务逻辑核心,采用三层架构设计模式。本文以hello_world插件的服务层为例,详细介绍服务层的开发方式。

服务层架构概述

service服务层的文件存放路径为:niucloud/addon/hello_world/app/service

建议在对应端口编写业务代码:

  • 后台服务层(admin):处理后台管理系统的业务逻辑。

  • 前台服务层(api):处理前台用户访问的业务逻辑。

  • 公共核心服务层(core):封装公共的业务逻辑,供 admin 和 api 层调用。

这种分层架构能够有效实现代码复用,降低耦合度,便于维护和扩展。

目录结构

hello_world 插件的 service 层目录结构遵循 niucloud 框架规范:

plaintext
hello_world/app/service/
├── admin/                          # 后台服务层
│   ├── UserService.php             # 用户服务类(示例)
│   └── ...
├── api/                            # 前台服务层
│   ├── UserService.php             # 用户服务类(示例)    
│   └── ...
└── core/                           # 公共核心服务层
    ├── CoreUserService.php         # 核心用户服务(示例)
    └── ...

服务层基类

各服务层分别继承对应的基类:

后台服务层:继承 BaseAdminService,里面定义了后台服务层的核心功能。

php
/**
 * 用户服务层
 */
class UserService extends BaseAdminService
{
  // todo 编写业务代码
}

前台服务层:继承 BaseApiService,里面定义了前台服务层的核心功能。

php
/**
 * 用户服务层
 */
class UserService extends BaseApiService
{
  // todo 编写业务代码
}

公共核心服务层:继承 BaseCoreService,里面定义了公共核心服务层的核心功能。admin(后台)、api(前台)都可以调用,这样可以防止代码冗余,编写重复代码,方便后期维护。

php
/**
 * 核心用户服务层
 */
class CoreUserService extends BaseCoreService
{
  // todo 编写业务代码
}

基于 MIT 协议发布