关于zentaoPHP框架

2009-03-29 21:40:00
王春生
134337
最后编辑:薛才杰 于 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']简洁顺畅的多。

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

评论列表
小阮 2018-09-05 15:34:22
刚开始研究这个框架,定时任务要怎么写,有封装吗?
王春生 2018-09-06 08:50:14
定时任务框架没有内置。禅道里面我们有实现,可以参考禅道的代码。
skykfhao 2018-07-10 15:51:34
春哥,是怎么判断数据库删除操作删除成功 isError()?
王春生 2018-07-10 16:03:28
看sql执行是否正常。
Seven.zhou 2018-06-05 09:28:59
CI框架的名称写错了, CodeIgniter
孤独 2017-12-25 15:35:07
查询语句连续使用了两个andWhere后,最后个不生效,怎么解决?where('uid')->eq($uid)->andWhere('state')->eq('2')->andWhere('type')->eq('-1')
王春生 2017-12-25 17:42:08
printSQL()看最终拼装的sql是什么。
pual 2017-12-20 13:41:16
想找个框架开发一个百货管理系统,不知道在支持大数据并发方面有没有什么影响,另外想问下,这个框架开源的吗,我可以免费拿来改改用吗
王春生 2017-12-21 08:29:39
框架是开源的。数据库层面现在框架支持主从备份,如果数据量再大的话,可以上缓存。在dao层可以抽象出来。
noyes 2017-10-03 11:00:10
请问一下,在这个框架里有命名空间的实现么?
王春生 2017-10-09 08:10:27
没有使用命名空间。
小白 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
了解了我们程序的代码结构,然后参照我们现在的实现开发。
1/6
发表评论
评论通过审核后显示。