zentaophp框架的主要功能

2014-08-01 15:21:52
王春生
70824
最后编辑:潘仙芝 于 2015-01-09 10:24:47
分享链接
摘要:zentaoPHP框架的主要功能介绍。

zentaoPHP框架的主要功能如下:

一、单一入口模式

单一入口是现在比较流行的开发方式。好处在于可以有一个集中的控制。或者讲框架一个比较基本的东西也是单一入口吧。现在ZenTaoPHP框架支持web方式和命令行方式的两种入口文件。具体的例子大家可以查看app目录下面的demo/www/index.php和cli/call这两个文件。

二、MVC模式

ZenTaoPHP支持MVC方式的开发。不过相比较于其他框架的多种模板实现来讲,ZenTaoPHP并没有尝试去开发一套新的模板系统,而是采用PHP作为模板语言。这是快的一种解决方案,而且也是简洁的一种方案。

三、支持GET和PATH_INFO两种方式调用

支持 index.php?m=user&f=info&id=123这种GET方式的调用,也支持 /user/info/123.html 这种方式的调用。如果你能控制你的运行环境,可以使用PATH_INFO的方式,这样生成的URL地址更加简捷,而且对搜索引擎十分友好。

四、内置数据库访问层DAO

禅道框架内置了DAO数据库访问层,在PDO的基础上,提供了完整的SQL拼装功能,可以非常方便的书写SQL查询语句,获取数据。而且我们在实现DAO的时候,花了很大的力气在兼容之前大家手写SQL的习惯,所以大家在使用禅道框架的DAO的时候,会发现很亲切,因为和手写SQL基本上是相同的。

五、支持跨模块之间的调用

在ZenTaoPHP框架中,一个模块的control或者model都可以直接调用另外一个模块的model,这样就可以将一个应用进行模块化,然后通过采用不同模块的功能,来实现比较复杂的功能。

除了model的调用之外,一个模块的control还可以fetch另外一个模块的control方法,这种一般用于一些共用的页面元素,比如打印一个搜索表单,或者打印菜单等等。通过control之间的互相调用,实现代码的共享。

六、无需路由配置,即可获得简捷的URL

ZenTaoPHP框架提供了简洁的参数传递方式。比如user模块有一个read方法,需要id和name两个参数,通常的PATH_INFO为user/read/id/1/name/wwccss.html,而zentaoPHP支持user/read/1/wwccss.html的形式,这样就省略了参数名的传递。这一切,都不需要配置任何的路由,直接通过框架的功能就可以获得。

七、灵活的数据验证机制

禅道PHP框架内置了灵活的数据验证机制,可以实现对数据的修正和检查,代码极其紧凑,简洁。

八、配置和语言可以通过对象方式引用

zentaoPHP框架的配置没有用什么ini文件,也没有用什么yaml文件,也没有用php的数组,而是直接用PHP对象的形式。这样配置文件不需要解析,就可以直接使用,而且引用起来十分的方便。形如$config->db->host的这种方式,而不是$config['db']['host']的这种方式。书写起来会非常的流畅!

九、方便的全局变量应用

在zentaoPHP框架中,引用GET,POST, SERVER这样的全局变量,可以通过这样的方式:$this->get->userName, $this->post->userName, $this->server->remote_addr。

十、所见即API

在现在开放平台的潮流下面,有一个非常好的api机制是比较重要的。在zentaoPHP框架中,每一个接口都可以成为api。至于api的方式,是通过其访问的扩展名来加以区分。比如如果你访问的是user/read/id/123.html,那么返回的是正常的网页。如果访问的是user/read/id/123.json,那么返回的就是json格式的数据。

十一、内置多语言支持

zentaoPHP框架支持多种语言功能,会自动根据当前用户客户端的信息来判断使用何种语言,这样可以方便大家开发多语言的应用。

十二、 强大的扩展机制

zentaoPHP框架实现了强大的扩展机制。通过这套扩展机制,做定制开发可以说是轻而易举,再也不用担心维护多个分支带来的痛苦了。

评论列表
mayi 2021-02-09 19:16:47
请问:跨模块之间的调用有示例吗?要怎么实现跨模块之间的调用?
mayi 2021-02-09 19:19:18
A control 里的test()调用了A model,然后,B control里想要调用A里的test(),运行时代码提示无法调用A model。
王春生 2021-02-14 15:32:29
control方法之间的调用要使用fetch方法。
嘻嘻嘻 2019-11-29 00:02:22
学习
心之所向 2019-10-03 17:34:08
王老师好,url是:http://127.0.0.1:8126/index.php?m=blog&f=index&recTotal=7&recPerPage=5&pageID=1。
recTotal、recPerPage、pageID这三个参数的顺序必须是这样吗?可以省略或者调整顺序吗?因为有的参数可有无可无(且已经在控制器方法里设置了默认值了)
王春生 2019-10-04 14:39:39
需要按照顺序传参,有默认值的可以不用传。
king 2019-04-12 11:06:57
开源版,修改了代码不起作用,是什么地方开关没开吗
zsh 2019-03-19 14:20:35
禅道框架中control.class.php文件中为什么可以直接调用helper:: js::调用其他文件的静态方法
王春生 2019-03-20 16:24:21
框架都引入这些类了。
web 2017-11-06 16:25:12
你好,如何关闭掉zentao系统自定义的错误提示而使用php自己的错误提示?
xiaoniba 2016-05-18 15:19:20
顶顶更健康。
华小七 2016-01-07 17:28:10
windows一键安装完成后有zentao和zentaopro?他们两个为什么是一模一样的?然后表也是一样的
王春生 2016-01-08 09:26:06
表结构是可以兼容的。功能是有区别的。pro是专业版,在开源版上有增强的功能。
华小七 2016-01-07 09:43:04
请问您 如果我想在某台电脑上访问另一台电脑上的禅道自带的MySql 如何修改呢?
王春生 2016-01-08 09:27:48
google mysql远程访问。
华小七 2016-01-07 09:05:14
我在windows2012上一键安装禅道 但是为什么点击登录的按钮和修改密码保存都没有反应?求解答 谢谢
1/2
发表评论
评论通过审核后显示。