广告投放

DiscuzQ3.0文件与栏目详解

简介:Discuz!Q 基于 Laravel 框架的 lumen 开发而成,基本目录文件包和文件跟 lumen 官方是一致的,不过 Discuz!Q 也有增加了自己特色功能。

DiscuzQ3.0在2021-6-25号已经发布,目前是 v3.0.210624 为3.0的第一个版本。今天来解剖一个3.0的后端接口以及栏目文件的各个作用。

目录结构

DiscuzQ3.0文件与栏目详解
目录结构

应用目录 /app

app目录包含了应用的核心代码,注意不是框架的核心代码,应用编写的代码绝大多数也会放到这里,当然,如果你基于 Composer 做了 PHP 组件化开发的话,这里面存放的恐怕也只有一些入口性的代码了。

配置目录 /config

config 目录包含了应用所有的配置文件,建议通读一遍这些配置文件以便熟悉 Laravel 所有默认配置项。

数据库目录 /database

database 目录包含了数据库迁移文件及填充文件,如果有使用 SQLite 的话,你还可以将其作为 SQLite 数据库存放目录。

插件栏目 /plugin

Plugin 在 3.0 中看到了一个 plugin 插件栏目,后期在做详细解读。

对外公开目录 /public

public 目录包含了应用入口文件 index.php 和前端资源文件(图片、JavaScript、CSS等),该目录也是 Apache 或 Nginx 等 Web 服务器所指向的应用根目录,这样做的好处是隔离了应用核心文件直接暴露于 Web 根目录之下,如果权限系统没做好或服务器配置有漏洞的话,很可能导致应用敏感文件被黑客窃取,进而对网站安全造成威胁。

资源目录 /resources

resources 目录包含了应用视图文件和未编译的原生前端资源文件(LESS、SASS、JavaScript),以及本地化语言文件;

路由目录 /routes

routes 目录包含了应用定义的所有路由。Discuz!Q 默认提供了四个路由文件用于给不同的入口使用:web.phpapi.php、 apiadmin.php 和 apiv3.php

  • web.php 目前 是web页面的路由文件,Discuz!Q 搭建了安装install使用。
  • api.php 目前做了微信支付回调,视频转码回调
  • apiadmin.php 只要是后台管理接口。
  • api3.php
  • 这个3.0前端核心接口文件,PC端,h5,小程序。注册,登录,帖子都是通过这里的接口来处理。

文件存储目录 /storage

storage 目录包含了编译后的 Blade 模板、基于文件的 Session、文件缓存,以及其它由框架生成的文件,该目录被细分为成 appframework 和 logs 子目录,app 目录用于存放应用生成的文件,framework 目录用于存放框架生成的文件和缓存,最后,logs 目录存放的是应用的日志文件。

storage/app/public 目录用于存储用户生成的文件,比如可以被公开访问的用户头像,要达到被 Web 用户访问的目的,你还需要在 public (应用根目录下的 public 目录)目录下生成一个软连接 storage 指向这个目录。你可以通过 php artisan storage:link 命令生成这个软链接。

Vendor目录 vendor

vendor 目录包含了应用所有通过 Composer 加载的依赖。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
广告位招租919838898
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索