ZenTaoPHP框架里面的基本概念
导航: 上一页
在ZT 框架里面有几个基本的概念是需要解释清楚的。先来看张活动图。
- router
router 在ZT 框架中通常表现为index.php。通过apache 的配置文件,将某一个域名下面所有的请求解析到这个index.php 文件。然后由这个index.php 来负责调度。
- 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 目前ZT 框架支持两种,一种是PATH_INFO 格式的,一种是通过传统的GET 方式传递的。
比如访问http://demo.zentao.cn/hello/index.html,PATH_INFO 为/hello/index.html,这其中hello为module 名称,index 为要调用的方法,而.html 则指明了view 的格式。
比如访问http://demo.zentao.cn/hello/view/id/179.html,PATH_INFO 为/hello/view/id/179.html,这其中hello 为module 名称,view 为要调用的方法,id/179 表示要访问id=197 的记录。module 就是应用的一个模块。模块由control, model, view和lang 文件组成。control 是module 的控制文件,由它来负责组织各种业务逻辑(model),然后展示相应的视图(view)文件。
比如demo 应用里面的hello 模块的control 类,如下图,分别定义了index, view, del, edit, add等几个方法。
相应的model 类则定义了getList, getInfo, delArticle, add 等几个方法。