简介:Discuz!Q 基于 Laravel 框架的 lumen 开发而成,基本目录文件包和文件跟 lumen 官方是一致的,不过 Discuz!Q 也有增加了自己特色功能。
DiscuzQ3.0在2021-6-25号已经发布,目前是 v3.0.210624
为3.0的第一个版本。今天来解剖一个3.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.php
、api.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、文件缓存,以及其它由框架生成的文件,该目录被细分为成 app
、framework
和 logs
子目录,app
目录用于存放应用生成的文件,framework
目录用于存放框架生成的文件和缓存,最后,logs
目录存放的是应用的日志文件。
storage/app/public
目录用于存储用户生成的文件,比如可以被公开访问的用户头像,要达到被 Web 用户访问的目的,你还需要在 public
(应用根目录下的 public
目录)目录下生成一个软连接 storage
指向这个目录。你可以通过 php artisan storage:link
命令生成这个软链接。
Vendor目录 vendor
vendor
目录包含了应用所有通过 Composer 加载的依赖。
1. 资源都是经过站长或作者收集测试修改后发布分享。如若转载请在文内以超链形式注明狐狸库文章出处,谢谢合作!
2. 本站除原创内容,其余所有内容均收集自互联网,仅限用于学习和研究目的,本站不对其内容的合法性承担任何责任。如有版权内容,请通知我们或作者删除,其版权均归原作者所有,本站虽力求保存原有版权信息,但因众多资源经多次转载,已无法确定其真实来源,或已将原有信息丢失,所以敬请原作者谅解!
3. 本站用户所发布的一切资源内容不代表本站立场,并不代表本站赞同其观点和对其真实性负责,若您对本站所载资源作品版权归属存有异议,请留言附说明联系邮箱,我们将在第一时间予以处理 ,同时向您表示歉意!为尊重作者版权,请购买原版作品,支持您喜欢的作者,谢谢!
4. 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客如有发现请立即向站长举报;本站资源文件大多存储在云盘,如发现链接或图片失效,请联系作者或站长及时更新。
请登录后查看评论内容