关于zentaoPHP框架

2009-03-29 21:40:00
王春生
99357
最后编辑:王春生 于 2014-08-07 14:49:15
简介:zentaophp框架简介。

一、zentaoPHP框架的缘起

2009年我们决定开始启动禅道项目管理软件的开发,编程语言自然选择了一直使用的PHP。但在开发框架的选择上,颇费了一番功夫。09年的时候,php5.2系列的版本oop的功能已经比较强大,市面上也出现了一大批的框架。比如cakephp, symfony, zend framework, codeignightor等等。仔细的研究这些框架之后,符合我们要求的是codeignightor这个框架,概念简单,文档丰富。但遗憾的是这个框架是基于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']简洁顺畅的多。

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

评论列表
小白 2017-09-15 10:38:47
我现在需要在编辑项目的时候,对对应的负责人进行邮件抄送?这个功能我怎么实现,新人,求关照
王春生 2017-09-19 08:23:00
参照我们需求,bug,任务发送邮件的代码。
phg 2017-09-03 17:48:12
麻烦问下,在禅道的抄送功能是怎么实现的, 类似邮箱的功能,包括按删除键可以删除整个被抄送人的姓名
王春生 2017-09-04 08:44:01
用的是zui里面集成的chosen组件。
demoer 2017-08-11 11:35:48
我把管理员和用户都给清掉了,现在进不去了,怎么整
天堂鸟 2017-08-08 16:07:23
我现在有一个需求,在我的地盘中添加区块时,需要添加“抄送给我"的任务
目前只有指派给我、由我创建、由我完成、由我关闭、由我取消,这几项可以选择
二次开发如何做,请指导,谢谢!
王春生 2017-08-10 08:26:57
了解了我们程序的代码结构,然后参照我们现在的实现开发。
赵云丰 2017-08-04 11:44:06
问一下模态框怎么使用啊
王春生 2017-08-07 08:17:40
请参考zui的网站:http://zui.sexy
zhyunfe 2017-08-04 09:14:48
禅道里怎么使用Redis和Memcache啊
王春生 2017-08-07 08:17:23
1. 根据我们目前的使用场景看,用不到。
2. 即使需要做缓存,可以简单的用文件缓存,或者本机的内存缓存。
3. 如果需要改,根据自己的需要,改对应的地方。可以在dao.class.php和control.class.php里面做封装。
liebert 2017-07-25 18:06:57
我想问一下咱们的然之协同工具,前端页面是怎么规划的一个套一个的?
王春生 2017-07-26 08:25:45
设计的目标是给用户提供仿桌面的操作。所以做成了现在的样子。
乡土老农 2017-07-25 09:38:33
现在比较好的thinkphp是否考虑用做框架?
王春生 2017-07-26 08:24:33
1. 核心的框架一定要掌握在自己手里面。我们是做产品为主,框架我们自己掌握,可以做很多事情。用第三方的框架,就各种限制。
2. 第三方的框架有很多功能其实我们用不到的。
3. thinkphp框架有很多设计理念我们并不认同。
啼笑 2017-06-20 10:43:17
显示页面也是php页面?哪个这种命名是story.html.php是什么意思啊
王春生 2017-06-21 08:12:48
.html代表输出的格式。比如可以有story.xml.php story.pdf.php,懂了吗?
Wang 2017-05-04 21:09:56
Model之间如何相互调用,比如在blog里面调用user里面的
王春生 2017-05-08 08:58:47
$this->loadModel
1/5
发表评论
评论通过审核后显示。