如何实现一个php框架系列文章【1】如何组织文件

时间:2024-01-13 13:28:02

1. 组织文件布局应该考虑什么问题

前后端分离

各业务模块分离但方便互相调用

上传文件安全性

方便接入第三方类库

如图所示

框架入口文件 uct/index.php

框架目录         uct/framework

业务目录         uct/app

文件上传目录  upload

第三方类库      uct/vendor

如何实现一个php框架系列文章【1】如何组织文件

框架目录framework下和业务目录web下均有类似结构 control目录与model目录,

另外web下还有前端目录tpl和view。tpl用于放置后台管理页面,view用于用户前端页面。

这是一种典型的非入侵式MCV布局方式。

文件上传路径upload放在上一层,文件上传路径不应该被直接访问到。出于安全原因,这里面水很深的。

在大型web架构中文件上传通常是独立服务器架构或者使用第三方存储服务如七牛等。

在中小型web应用中框架自带一个文件上传管理,就应该考虑这个问题了。

ps:

为了避免源码泄露风险,前端模板文件也不应该被直接访问。但为了保持框架结构简单清晰,

降低开发人员心智负担,还是把每个模块的前端tpl文件,static静态文件,和php接口放在了一起。

安全上可以通过nginx或apache的文件访问权限控制来保障。

第三方类库目录uct/vendor     将在后续系列中介绍如何将其简单优雅地为我所用。