- 1 认识 zentaoPHP 框架
- 2 入口文件
- 3 配置管理
- 4 模块管理
- 4.1 控制器(control)
- 4.2 业务逻辑(model)
- 4.2.1 定义 model
- 4.2.2 跨模块调用
- 4.2.3 获取模块名
- 4.2.4 删除记录
- 4.2.5 数据处理对象 dao
- 4.3 模版视图(view)
- 4.4 从 hello world 开始
- 4.5 模块的配置
- 4.6 模块的语言
- 4.7 模块的 CSS 和 JS 管理
- 5 类库
- 6 扩展机制
- 6.1 扩展机制简介
- 6.2 新增独立模块
- 6.3 对控制层(control)扩展
- 6.4 对模型层(model)扩展
- 6.5 对视图层(view)扩展
- 6.6 对样式表和js进行扩展
- 6.7 对语言配置进行扩展
目录结构
- 2021-09-27 10:55:56
- admin
- 2150
- 最后编辑: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 则是公用的出错信息提示的模板文件。