分类

链接

统计信息

  • 日志总数:36篇
  • 评论总数:31条
  • 分类总数:3个
  • 标签总数:16个
  • 友情链接:0个
  • 网站运行:4012天

2021年 12月
 12345
6789101112
13141516171819
20212223242526
2728293031  
现在位置:    首页 > 技术 > 正文
Discuz!Q程序目录结构和API 说明
技术 暂无评论

简介
默认的 Disczu! Q 是按照业务功能来进行目录分类。

App 目录

app 目录包含应用程序的核心代码。你应用中几乎所有的类都应该放在这里。稍后我们会更深入地了解这个目录的细节。

Config 目录

config 目录,顾名思义,包含应用程序所有的配置文件。我们鼓励你通读这些文件,以便帮助你熟悉所有可用的选项。

Database 目录

database 目录包含数据填充和迁移文件。

Public 目录

public 目录包含了入口文件 index.html 和 index.php ,它是进入应用程序的所有请求的入口点。此目录还包含了一些你的资源文件(如图片、JavaScript 和 CSS)。

Resources 目录

resources 目录包含了视图和未编译的资源文件(如 LESS、SASS 或 JavaScript)。此目录还包含你所有的语言文件。

Routes 目录

routes 目录包含了应用的所有路由定义,Laravel 默认包含了几个路由文件:web.php、api.php。
web.php 目录为安装程序提供,页面渲染。
api.php 为接口路由分组为 /api 前缀。

Storage 目录

storage 目录包含编译后的 Blade 模板、cache 缓存文件以及框架生成的其他文件。这个目录被细分成 app, framework 和 logs 三个子目录。app 目录可以用来存储应用生成的任何文件。 framework 目录用来存储框架生成的文件和缓存。最后, logs 目录包含应用的日志文件。
storage/app/public 可以用来存储用户生成的文件,比如需要公开访问的用户头像。你应该创建一个 public/storage 的软链接指向这个目录。你可以直接通过 php disco storage:link 命令来创建此链接(安装程序会自动创建)。

Vendor 目录

vendor 目录包含你所有的 Composer 依赖包。

jsonapi.org

Discuz! Q 使用的是 jsonapi.org 定义的格式,使用 tobscure/json-api 包的实现。

路由分别对应

以psr-2基础命名规则外,下面为实践中相关命名规则
以user为例, 路由和路由名称为小写复数按功能以.分开
控制器按功能,列表为复数,其它单条担任可为单数驼峰命名
序列化模型名为单数驼峰命名
数据库模型以单数驼峰命名
表名以复数命名

下面为具体增删改查路由例子:

列表数据

继承 Discuz\Api\Controller\AbstractListController 需要指定 $serializer 要用于序列化模型的 data 方法,并实现返回模型集合的方法。该 data 方法接收 Request 对象和 tobscure/json-api Document

单条数据

同列表数据一样继承 Discuz\Api\Controller\AbstractResourceController 并实现相关属性和方法,接收参数一样

创建数据

继承 Discuz\Api\Controller\AbstractCreateController。这与单条数据相同,但响应状态代码将自动设置为 201 Created。您可以通过以下方式访问传入的 JSON:API POST传过来的数据可通过 $request->getParsedBody() 来取到 json 数组,并通过 Laravel Arr 类来获取数组相关信息

更新数据

继承 Discuz\Api\Controller\AbstractResourceController 同单条数据一样,现相关属性和方法,接收参数一样,返回相关数据,获取同创建数据一样

删除数据

继承 Discuz\Api\Controller\AbstractDeleteController 实现delete 方法,该方法接收 Request,默认返回空 204 No Content 响应。

序列化模型说明

继承 Discuz\Api\Serializer\AbstractSerializer 实现 getDefaultAttributes 方法,该方法接收数据库模型,写好 type 属性

自定义返回类型

实现接口 Psr\Http\Server\RequestHandlerInterface

本文版权归软饭网所有,转载引用请完整注明以下信息:
本文作者:HUI
本文地址:Discuz!Q程序目录结构和API 说明 | 软饭网

发表评论

留言无头像?