关于zentaoPHP框架

2009-03-29 21:40:00
王春生
176037
最后编辑:薛才杰 于 2018-07-10 14:56:44
简介:zentaophp框架简介。

一、zentaoPHP框架的缘起

2009年我们决定开始启动禅道项目管理软件的开发,编程语言自然选择了一直使用的PHP。但在开发框架的选择上,颇费了一番功夫。09年的时候,php5.2系列的版本oop的功能已经比较强大,市面上也出现了一大批的框架。比如cakephp, symfony, zend framework, CodeIgniter等等。仔细的研究这些框架之后,符合我们要求的是 CodeIgniter这个框架,概念简单,文档丰富。但遗憾的是这个框架是基于php4面向过程的语法实现的,导致它的很多实现并不是很合理。考虑到我们后续产品的发展,我们决定自己来开发一款框架。于是2009年3月1日,发布了第一个版本。

二、zentaophp框架的特点

zentaophp框架的定位主要是b/s架构的应用开发,它不是一款全能型的框架,主要的目的还是服务我们团队自己的产品研发。因此和其他的框架相比,它有很强的特点:


代码简单

框架的核心只有四个文件,分别为调度类 router.class.php,control类 control.class.php,model类 model.class.php和工具类 helper.class.php。代码的实现也比较简单,有能力的开发者可以很容易在框架基础上进行扩展,增加自己的功能。


性能良好

zentaoPHP框架在实现过程中,十分重视性能。在保证功能的前提下面,尽可能的提升程序执行效率。


结构清晰

使用ZenTaoPHP框架来开发应用,其目录结构简单清晰,维护起来非常的方便。


开发友好

框架,首先是一个框,把你框在了里面。所以很多框架会有很多的约定,你要怎样,你要怎样。还有很多隐形的约定,比如你要在你的代码里面写很多的xxxx之类的东东。我觉得一个好的框架在实现功能的前提下,应当尽量兼顾开发人员之前的开发习惯,所以zentaoPHP框架在这方面花了大量的力气:


中性命名:框架实现时,没有出现什么zentao之类的命名,完全是 中性的命名:router, control, model, config, lang。

配置对象化:配置项可以通过对象的方式来引用,$config->db->user,要比$config['db']['user']简洁顺畅的多。

相对路径包含:所有的路径都可以用相对路径来进行包含,这样可以很清晰的知道目录结构和代码之间的关系。

评论列表
杰杰 2019-10-21 15:44:04
有批量excel导入数据的接口吗?
禅道1级 2019-09-03 10:12:17
http://127.0.0.1/biz/task-export-1-status,id_desc-unclosed.html
求问:windows集成包,访问这个路径时,为啥没有进入task模块的export方法?
王春生 2019-09-03 16:10:12
post
mmw 2019-05-31 16:45:53
咨询下,模块的控制器下一个方法怎么把数据传到其它视图里面使用。比如,我在doc的模块控制器browse方法里面得到的数据docs,怎么可以在另外的视图view.html.php里面使用啊?
王春生 2019-06-03 09:42:11
看看我们control的fetch方法。建议把逻辑封装到model里面。
青春诺言 2019-05-26 16:41:22
我想咨询下:我在添加产品的时候增加了一个提交信息的字段,但是我不想升级的时候被覆盖,就想用扩展,但是扩展我是需要把整个表单都要放在扩展里吗?怎么能在扩展了里面只增加我添加的字段啊?
王春生 2019-05-27 14:57:27
可以用js和css动态改dom结构。
zjc 2019-05-24 17:44:56
你好,请问在备注或者一些文本框上边的工具栏是怎么加的?
王春生 2019-05-27 14:57:01
参考我们其他的代码。
zjc 2019-05-22 19:33:57
请问,权限怎么弄啊,给新加的功能设置一些权限,比如只有项目经理和产品经理登录能看见这个功能选项并进行操作?谢谢。
王春生 2019-05-27 14:54:58
看文档。对group模块语言做扩展。
achen 2019-05-10 11:26:59
ERROR: in framework\base\router.class.php on line 2144, last called by framework\base\router.class.php on line 2102 through function connectByPDO.
in framework\base\router.class.php on line 2194 when visiting
报这个问题怎么解决
王春生 2019-05-10 18:31:54
检查数据库服务器状态。链接参数。
2019-03-21 23:28:11
您好,想二次开发批量导入需求,请问应该调用哪个API
王春生 2019-03-22 08:57:12
可以跟踪一下我们批量创建页面的表单提交。
你只需要构造同样的表单提交到批量创建页面就可以了。
zsh 2019-03-21 09:15:30
helper.class.php的cycle函数是如何起到遍历数组的作用呢?在什么地方有调用?
小阮 2018-09-05 15:34:22
刚开始研究这个框架,定时任务要怎么写,有封装吗?
王春生 2018-09-06 08:50:14
定时任务框架没有内置。禅道里面我们有实现,可以参考禅道的代码。
1/7
发表评论
评论通过审核后显示。