官网:http://www.zentao.net/php
下载:http://www.zentao.net/downloadcss
1、什么是ZenTaoPHP框架
ZenTaoPHP框架是由禅道项目管理软件开发团队开发的一款轻量级的PHP开发框架,它主要的特色是:html
1.1 代码简单
ZenTaoPHP框架核心只有四个文件,分别为调度类router.class.php,control类control.class.php,model类model.class.php和工具类helper.class.php。里面的代码也足够简单。这样你们能够很容易的读懂它的代码,并根据本身的实际应用进行定制修改。web
1.2 性能良好
ZenTaoPHP框架在实现过程当中,十分重视性能。在保证功能的前提下面,尽量的提高程序执行效率。数据库
1.3 结构清晰
使用ZenTaoPHP框架来开发应用,其目录结构简单清晰,维护起来很是的方便。json
1.4 开发友好
框架,首先是一个框,把你框在了里面。因此不少框架会有不少的约定,你要怎样,你要怎样。还有不少隐形的约定,好比你要在你的代码里面写不少的xxxx之类的东东。我以为一个好的框架在实现功能的前提下,应当尽可能兼顾开发人员以前的开发习惯。ZenTaoPHP框架在这方面花了很大的力气:api
中性命名:框架实现时,没有出现什么zentao之类的命名,彻底是中性的命名:router, control, model, config, lang。数组
配置对象化: 配置项能够经过对象的方式来引用,$config->db->user,要比$config['db']['user']简洁顺畅的多。app
相对路径包含:在ZenTaoPHP框架开发的应用中,全部的路径均可以用相对路径来进行包含,这样能够很清晰的知道目录结构和代码之间的关系。框架
1.5 public domain 受权
public domain 受权就是你能够拿它作任何的事情,禅道开发团队已经将ZenTaoPHP框架的版权彻底的捐献给了公众领域。任何人,任何单位能够拿它作任何的事情,而没有任何的限制。
2、ZenTaoPHP框架的主要功能以下:
2.1 单一入口模式
单一入口是如今比较流行的开发方式。好处在于能够有一个集中的控制。或者讲框架一个比较基本的东西也是单一入口吧。如今ZenTaoPHP框架支持web方式和命令行方式的两种入口文件。具体的例子你们能够查看app目录下面的demo/www/index.php和cli/call这两个文件。
2.2 MVC
ZenTaoPHP支持MVC方式的开发。不过相比较于其余框架的多种模板实现来说,ZenTaoPHP并无尝试去开发一套新的模板系统,而是采用PHP做为模板语言。这是最快的一种解决方案,并且也是最简洁的一种方案。
2.3 支持GET和PATH_INFO两种方式调用
支持 index.php?m=user&f=info&id=123这种GET方式的调用,也支持 /user/info/id/123.html 这种方式的调用。若是你能控制你的运行环境,可使用PATH_INFO的方式,这样生成的URL地址更加简捷,并且对搜索引擎十分友好。
2.4 内置数据库访问层DAO
禅道框架内置了DAO数据库访问层,在PDO的基础上,提供了完整的SQL拼装功能,能够很是方便的书写SQL查询语句,获取数据。并且咱们在实现DAO的时候,花了很大的力气在兼容以前你们手写SQL的习惯,因此你们在使用禅道框架的DAO的时候,会发现很亲切,由于和手写SQL基本上是相同的。
2.5 支持跨模块之间的调用
在ZenTaoPHP框架中,一个模块的control或者model均可以直接调用另一个模块的model,这样就能够将一个应用进行模块化,而后经过采用不一样模块的功能,来实现比较复杂的功能。
除了model的调用以外,一个模块的control还能够fetch另一个模块的control方法,这种通常用于一些共用的页面元素,好比打印一个搜索表单,或者打印菜单等等。经过control之间的互相调用,实现代码的共享。
2.6 无需路由配置,便可得到简捷的URL
ZenTaoPHP框架提供了简洁的参数传递方式。好比user模块有一个read方法,须要id和name两个参数,一般的PATH_INO为user/read/id/1/name/wwccss.html,而ZenTaoPHP支持user/read/1/wwccss.html的形式,这样就省略了参数名的传递。这一切,都不须要配置任何的路由,直接经过框架的功能就能够得到。
2.7 灵活的数据验证机制
禅道PHP框架内置了灵活的数据验证机制,能够实现对数据的修正和检查,代码极其紧凑,简洁。
2.8 配置和语言能够经过对象方式引用
ZenTaoPHP框架的配置没有用什么ini文件,也没有用什么yaml文件,也没有用php的数组,而是直接用PHP对象的形式。这样配置文件不须要解析,就能够直接使用,并且引用起来十分的方便。形如$config->db->host的这种方式,而不是$config['db']['host']的这种方式。书写起来会很是的流畅!
2.9 方便的全局变量应用
在ZenTaoPHP框架中,引用GET,POST, SERVER这样的全局变量,能够经过这样的方式:$this->get->userName, $this->post->userName, $this->server->remote_addr。
2.10 所见即API
在如今开放平台的潮流下面,有一个很是好的api机制是比较重要的。在ZT中,每个接口均可以成为api。至于api的方式,是经过其访问的扩展名来加以区分。好比若是你访问的是user/read/id/123.html,那么返回的是正常的网页。若是访问的是user/read/id/123.json,那么返回的就是json格式的数据。
2.11 内置多语言支持
ZT支持多种语言功能,会自动根据当前用户客户端的信息来判断使用何种语言,这样能够方便你们开发多语言的应用。
2.12 强大的扩展机制ZenTaoPHP框架实现了强大的扩展机制。经过这套扩展机制,作定制开发能够说是垂手可得,不再用担忧维护多个分支带来的痛苦了。