目录结构

2021-09-27 10:55:56
admin
1699
最后编辑:admin 于 2023-08-21 21:44:18

 zentaoPHP 框架的目录结构:

顶级目录结构

config:           公共配置文件所在的目录。默认包含了 config.php、filter.php 和 my.php
db:               demo 应用所需要的 blog.sql
framework:        包含了框架的核心文件。
js:               包含了 js 脚本文件。
lib:              类库目录,包含了常用的类文件。 
module:           模块目录,每个模块为一个目录,存放在 module 目录下面。
theme:            主题文件,包含了 css 文件和图片文件。
tmp:              临时文件目录,其中包括缓存 cache 目录、log 目录。
.htaccess:        apache 下面使用的 url 重写规则文件。
favicon.ico:      小图标文件。
index.php:        入口文件。

框架相关目录及调用

目录名称说明调用方法
URL 根目录在配置文件中设置getWebRoot()
基础目录框架的根目录,即存放框架核心的目录。getBasePath()
框架核心目录

基础目录/framework/

getFrameRoot()
配置目录基础目录/config/getConfigRoot()
类库目录基础目录/lib/getCoreLibRoot()
模块目录基础目录/module/

getModuleRoot()

应用根目录

如果用户创建应用时未自定义,则默认应用路径为:

基础目录/app/应用名称/

getAppRoot()
临时文件目录基础目录/tmp/getTmpRoot()
缓存目录临时文件目录/cache/getCacheRoot()
log 目录临时文件目录/log/getLotRoot()
www 目录入口文件(index.php)所在的根目录,框架默认在基础目录getWwwRoot()
主题目录www 目录/theme/getThemeRoot()
data 目录www 目录/data/

getDataRoot()

注:以上方法(除了 getWebRoot)获取的都是绝对路径。

关于应用路径

在 zentaoPHP 框架中,应用路径是支持用户自定义的。我们创建应用时如果没有自定义应用路径,默认应用路径为 基础目录/app/应用名称/ 。只是因为应用路径支持自定义,所以框架中没有强行设定 app 目录。

实际上,无论您将应用路径设定到哪里(须有效路径),框架默认并没用使用该应用路径。因为默认应用的模块是保存在 基础目录/module/ 目录下管理的。但如果一个项目中包含多个应用,建议您使用默认应用路径 基础目录/app/应用名称/ 来管理各应用的模块,同时这需要将 moduleroot 指向 approot。

为什么要将入口文件所在目录称为“www目录”?

zentaoPHP 框架默认将入口文件放在基础目录下,即 www 目录默认指向基础目录。但出于安全都方面考虑,框架建议在实际项目中将入口文件放在二级子目录 /www/ 目录下(只是框架中未强行设计采用二级子目录 /www/ 而已)。例如在禅道项目源文件中,是有一个 www 目录的。而且,www 目录下除了入口文件,还包含 data/ 、js/ 和 theme/ 目录。

每个模块的目录结构

module 目录下,每个模块各是一个独立的目录,每个模块的目录结构如下:

config.php:  当前模块的配置文件,可以用来存放专门针对当前模块的配置,也可以覆盖全局性的公共配置。
css:         存放当前模块的 CSS 文件,包括公共样式 common.css 和各个方法(页面)的视图样式 methodName.css。
js:          存放当前模块的 JS 文件,包括公共 JS 文件 common.js 和各个方法(页面)的视图特效 methodName.js。
lang:        存放各个语言的文件。比如中文存为 zh-cn.php,英语存为 en.php,繁体存为 zh-tw.php。
control.php  为当前模块对应的控制器类文件。
model.php    为当前模块对应的业务逻辑类文件。
view:       存放 control 里各个方法的视图文件(方法名.html.php)。例如 index.html.php 是 index 方法的模板文件

关于 common 公共模块

common 模块需要特别说明一下: common 模块里面存储的是当前这个应用公用的语言文件、模板文件、model 文件等。 比如 lang/zh-ch.php 将存储一些公用的语言文件。 header.html.php 是模板公用的头文件。 footer.html.php 是模板公用的页脚文件。 error.html.php 则是公用的出错信息提示的模板文件。