- 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
- 2015
- 最后编辑:admin 于 2021-09-28 15:37:33
入口文件
每个应用都有一个入口文件,入口文件并不一定都是指 index.php 文件,因为我们可以为不同的项目应用创建不同的入口文件,例如,前台的入口文件为 index.php ,后台的入口文件可能是 admin.php。
router
router 在 zentaoPHP 框架中表现为应用对象。我们在入口文件里创建一个应用(对象)时,其实就是实例化的 router 类。再通过 apache 的配置,将所有的请求解析到入口文件,然后由入口文件来负责调度。
app
router 会根据当前的请求来实例化一个具体的应用对象。比如 demo 应用的入口文件 index.php 代码如下:
include './framework/router.class.php'; include './framework/control.class.php'; include './framework/model.class.php'; include './framework/helper.class.php'; $app = router::createApp('demo');
config, lang, dbh
当应用实例化之后,它会加载该应用的公共配置文件,生成全局 $config 对象。
然后会连接到数据库,生成全局 $dbh 对象。(需先在配置文件中开启自动连接数据库)
然后会加载 common 模块的公共语言文件,生成全局 $lang 对象。(需先在配置文件中开启多语言功能)
URI,module,control, model and view
URI :当应用加载完公共的配置文件和语言文件之后,它会解析当前的请求,也就是 URI,得出要调用的模块及其方法、参数。zentaoPHP 采用模块和方法的方式来执行,任何一个 URL 访问都可以认为是访问某个模块的某个方法,例如:
www.xxx.com/index.php/user/create/tom/23.html
即:http://域名/入口文件/模块名/方法名/参数名/参数值
module :是指应用的模块。zentaoPHP 框架的功能模块存放在 module 文件夹下,每个模块就是一个子目录,模块相对独立便于开发与维护。一个模块由 control、 model、 view、css、js、config 和 lang 文件目录组成。
model :是模块的业务逻辑层,负责处理数据业务逻辑,然后传给 control 层。
control :是模块的控制器层,用来定义操作方法。前台每个页都对应着 control 里的一个方法函数,由它来负责组织各种业务逻辑 (model),然后输出展示到相应的视图 (view) 文件。
view :是模块的视图层,每个视图文件(应用页面)都对应着 control 里的一个方法函数。