zentaoPHP框架是做什么的(整理)

一、总结

一句话总结:应该是主要用作项目管理的(暂时没用过)

项目管理

看了下面的两篇资料,感觉没啥特色

看了文件目录结构,感觉就是一个标准的mvc框架

看了目录结构,感觉语言切换倒是比较直观明显

 

1、thinkphp框架和zentaophp框架中选哪个?

thinkphp

选thinkphp,国人用thinkphp的多,而且感觉zentaophp框架(暂时没用过)主要是做项目管理用的

thinkphp啥都可以做

 

2、zentaoPHP目录结构?

mvc

感觉就是标准mvc框架的目录结构




一、顶级目录结构

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框架 - zentaoPHP框架手册 - 易软天创开发者中心

http://devel.cnezsoft.com/book/zentaophphelp/about-10.html#1

一、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']简洁顺畅的多。

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

 

zentaoPHP目录结构




一、顶级目录结构

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(转)

转自:PHP框架 ZenTaoPHP - 阿里云

https://yq.aliyun.com/php/70766

 

一、什么是ZenTao​​PHP​​框架


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框架的版权完全的捐献给了公众领域。任何人,任何单位可以拿它做任何的事情,而没有任何的限制。

二、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/wwc​​css​​.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框架实现了强大的扩展机制。通过这套扩展机制,做定制开发可以说是轻而易举,再也不用担心维护多个分支带来的痛苦了。