zentaoPHP框架里面的基本概念

2009-04-14 08:54:41
王春生
29754
最后编辑:潘仙芝 于 2015-01-09 14:12:48
简介:本篇文章介绍zentaoPHP框架的基本概念。

zentaoPHP框架的所有请求都是通过index.php来进行的。它的基本原理是通过设置apache或者其他webserver,将所有的请求都转交给index.php。index.php加载框架文件,初始化应用,然后分析请求,得到请求对应对模块名、方法和参数,然后加载相应模块的control方法,model方法,后渲染模板,展示给用户。基本的模型如下:


一、router

router在zentaoPHP框架中通常表现为 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,得出要调用的模块及其方法、参数。

module就是应用的一个模块。模块由 control, model, viewlang文件组成。

controlmodule的控制文件,由它来负责组织各种业务逻辑( model),然后展示相应的视图( view)文件。

比如demo应用里面的blog模块的control类,分别定义了index, view, del, edit, add等几个方法。

相应的model类则定义了getList, getInfo, delArticle, add等几个方法。

评论列表
junyan 2018-07-04 15:01:33
$app = router::createApp('demo');

这个 demo 引用在哪里啊?
王春生 2018-07-05 08:07:08
demo只是一个名字,用来确定appRoot变量的路径。
月亮 2018-01-31 16:40:15
支持自定义路由吗?怎么做?
王春生 2018-01-31 19:23:48
不支持。
llwsykll 2017-04-27 19:05:01
禅道系统和框架一样都是使用MVC架构的吗?还是只是在展示层使用MVC架构处理?
王春生 2017-04-28 08:15:00
对,整体的架构是MVC。
王春生 2018-01-31 16:41:11
对,整体的架构是MVC。。。
[email protected] 2014-07-23 07:57:00
前两篇文档图片不为空。这篇文档图片是空的
LeeC 2014-07-22 11:45:18
文档好久没更新了,里面提到的app,源码中没有哦。
星晨 2014-06-15 17:40:05
为什么图片都是空的啊!让人很费解!!!很多图片都是空的,搞了好久看了看源码才明白怎么用的,可不可以配上图片啊亲
1/1
发表评论
评论通过审核后显示。