看了下面的两篇资料,感受没啥特点php
看了文件目录结构,感受就是一个标准的mvc框架css
看了目录结构,感受语言切换却是比较直观明显html
选thinkphp,国人用thinkphp的多,并且感受zentaophp框架(暂时没用过)主要是作项目管理用的web
thinkphp啥均可以作sql
感受就是标准mvc框架的目录结构thinkphp
config: 配置文件所在的目录。包含了config.php和my.php db: demo应用所须要的blog.sql framework: 包含了框架的核心文件。 js: 包含了js脚本文件。 lib: 包含了经常使用的类文件。 module: 模块目录,每一个模块一个目录,存放在module目录下面。 theme: 主题文件,包含了css文件和图片文件。 .htaccess: apache下面使用的url重写规则文件。 favicon.ico: 小图标文件。 index.php: 入口程序。
config.php: 这个模块的配置文件,能够用来存放专门针对这个模块的配置,也能够覆盖全局性的配置。
lang: 存放各个语言的文件。好比中文存为zh-cn.php,英语存为en.php,繁体存为zh-tw.php。
control.php 为这个模块对应的控制器类文件。
model.php 为这个模块对应的业务逻辑类文件。
view: 存放的各个方法的视图文件。好比index.html.php是index方法的模板文件
common模块须要特殊说明一下:common模块里面存储的是当前这个应用公用的语言文件、模板文件、model文件等。好比lang/zh-ch.php将存储一些公用的语言文件。header.html.php是模板公用的头文件。footer.html.php是模板公用的页脚文件。error.html.php则是公用的出错信息提示的模板文件。数据库
转自:关于zentaoPHP框架 - zentaoPHP框架手册 - 易软天创开发者中心
http://devel.cnezsoft.com/book/zentaophphelp/about-10.html#1apache
2009年咱们决定开始启动禅道项目管理软件的开发,编程语言天然选择了一直使用的PHP。但在开发框架的选择上,颇费了一番功夫。09年的时候,php5.2系列的版本oop的功能已经比较强大,市面上也出现了一大批的框架。好比cakephp, symfony, zend framework, CodeIgniter等等。仔细的研究这些框架以后,符合咱们要求的是 CodeIgniter这个框架,概念简单,文档丰富。但遗憾的是这个框架是基于php4面向过程的语法实现的,致使它的不少实现并非很合理。考虑到咱们后续产品的发展,咱们决定本身来开发一款框架。因而2009年3月1日,发布了第一个版本。编程
zentaophp框架的定位主要是b/s架构的应用开发,它不是一款全能型的框架,主要的目的仍是服务咱们团队本身的产品研发。所以和其余的框架相比,它有很强的特色:json
代码简单
框架的核心只有四个文件,分别为调度类 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']简洁顺畅的多。
相对路径包含:全部的路径均可以用相对路径来进行包含,这样能够很清晰的知道目录结构和代码之间的关系。
config: 配置文件所在的目录。包含了config.php和my.php db: demo应用所须要的blog.sql framework: 包含了框架的核心文件。 js: 包含了js脚本文件。 lib: 包含了经常使用的类文件。 module: 模块目录,每一个模块一个目录,存放在module目录下面。 theme: 主题文件,包含了css文件和图片文件。 .htaccess: apache下面使用的url重写规则文件。 favicon.ico: 小图标文件。 index.php: 入口程序。
config.php: 这个模块的配置文件,能够用来存放专门针对这个模块的配置,也能够覆盖全局性的配置。
lang: 存放各个语言的文件。好比中文存为zh-cn.php,英语存为en.php,繁体存为zh-tw.php。
control.php 为这个模块对应的控制器类文件。
model.php 为这个模块对应的业务逻辑类文件。
view: 存放的各个方法的视图文件。好比index.html.php是index方法的模板文件
common模块须要特殊说明一下:common模块里面存储的是当前这个应用公用的语言文件、模板文件、model文件等。好比lang/zh-ch.php将存储一些公用的语言文件。header.html.php是模板公用的头文件。footer.html.php是模板公用的页脚文件。error.html.php则是公用的出错信息提示的模板文件。
转自:PHP框架 ZenTaoPHP - 阿里云
https://yq.aliyun.com/php/70766
1、什么是ZenTaoPHP框架
ZenTaoPHP框架是由禅道项目管理软件开发团队开发的一款轻量级的PHP开发框架,它主要的特色是:
1.1 代码简单
ZenTaoPHP框架核心只有四个文件,分别为调度类router.class.php,control类control.class.php,model类model.class.php和工具类helper.class.php。里面的代码也足够简单。这样你们能够很容易的读懂它的代码,并根据本身的实际应用进行定制修改。
1.2 性能良好
ZenTaoPHP框架在实现过程当中,十分重视性能。在保证功能的前提下面,尽量的提高程序执行效率。
1.3 结构清晰
使用ZenTaoPHP框架来开发应用,其目录结构简单清晰,维护起来很是的方便。
1.4 开发友好
框架,首先是一个框,把你框在了里面。因此不少框架会有不少的约定,你要怎样,你要怎样。还有不少隐形的约定,好比你要在你的代码里面写不少的xxxx之类的东东。我以为一个好的框架在实现功能的前提下,应当尽可能兼顾开发人员以前的开发习惯。ZenTaoPHP框架在这方面花了很大的力气:
中性命名:框架实现时,没有出现什么zentao之类的命名,彻底是中性的命名:router, control, model, config, lang。
配置对象化: 配置项能够经过对象的方式来引用,$config->db->user,要比$config['db']['user']简洁顺畅的多。
相对路径包含:在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框架实现了强大的扩展机制。经过这套扩展机制,作定制开发能够说是垂手可得,不再用担忧维护多个分支带来的痛苦了。