DiscuzQ3.0的文件目录分析v3.0.210624

DiscuzQ3.0在2021-6-25正式发布,首发版本号v3.0.210624。

第一时间为大家解剖DiscuzQ3.0的后端接口以及栏目文件的各个作用。

一、目录结构

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

图片[1]-DiscuzQ3.0的文件目录分析v3.0.210624-微看VCAN
Discuz!Q 3.0文件目录

主要的文件夹包含app、config、database、plugin、public、resources、routes、storage、vendor。

二、应用目录

2.1 app

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

三、配置目录

3.1 config

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

四、数据库目录

4.1 database

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

五、插件目录

5.1 Plugin

Plugin文件夹是存放插件的栏目,目前还没太多内容。

六、对外公开目录

6.1 public

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

七、资源目录

7.1 resources

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

八、路由目录

8.1 routes

routes文件夹包含了应用定义的所有路由。Discuz!Q3.0 默认提供了四个路由文件用于给不同的入口使用:

web.php、api.php、 apiadmin.php、 apiv3.php

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

九、文件存储目录

9.1 storage

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

app目录用于存放应用生成的文件。

9.2 framework

framework文件夹用于存放框架生成的文件和缓存。

9.3 logs

logs文件夹存放的是应用的日志文件。

9.4 storage/app/public

这个文件夹用于存储用户生成的文件,比如可以被公开访问的用户头像。

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

十、Vendor目录

10.1 Vendor

Vendor文件夹包含了应用所有通过 Composer 加载的依赖。

转载自学码网
作者:学码网站长——张安冠

本文地址:https://www.dzq3.com/283.html,转载请注定!

© 版权声明
THE END
整理不易,点赞支持一下
点赞11 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容