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']简洁顺畅的多。
相对路径包含
所有的路径都可以用相对路径来进行包含,这样可以很清晰的知道目录结构和代码之间的关系。