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

一、什么是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框架的版权完全的捐献给了公众领域。任何人,任何单位可以拿它做任何的事情,而没有任何的限制。
二、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框架实现了强大的扩展机制。通过这套扩展机制,做定制开发可以说是轻而易举,再也不用担心维护多个分支带来的痛苦了。

 

zentaoPHP框架是做什么的(整理)的更多相关文章

  1. 前端框架MVVM是什么(整理)

    前端框架MVVM是什么(整理) 一.总结 一句话总结:vm层(视图模型层)通过接口从后台m层(model层)请求数据,vm层继而和v(view层)实现数据的双向绑定. 1.我大前端应该不应该做复杂的数 ...

  2. Django框架 之 Cookie、Session整理补充

    Django框架 之 Cookie.Session整理补充 浏览目录 Django实现的Cookie Django实现的Session 一.Django实现的Cookie 1.获取Cookie 1 2 ...

  3. 【无私分享:从入门到精通ASP.NET MVC】从0开始,一起搭框架、做项目 目录索引

    索引 [无私分享:从入门到精通ASP.NET MVC]从0开始,一起搭框架.做项目(1)搭建MVC环境 注册区域 [无私分享:从入门到精通ASP.NET MVC]从0开始,一起搭框架.做项目(2)创建 ...

  4. MUI框架-05-用MUI做一个简单App

    MUI框架-05-用MUI做一个简单App MUI 是一个前端框架,前端框架就像 Bootstrap,EasyUI,Vue ,为了做 app 呢,就有了更加高效的 MUI,我觉得前端框架有很多,也没有 ...

  5. 工作流,WEB框架,UI组件网络收集整理

    工作流,WEB框架,UI组件网络收集整理 在博客园上逛了好多年,随手收录了一些工作流,WEB开发框架,UI组件,现在整理一下与大家分享. 由于个人能力与精力有限,望各位园友在评论中补充,我将全部整理到 ...

  6. Preview of Spring-framework :Spring框架的预习和自我整理

    Spring简介 - 预习的自我整理 1. What's Spring? Spring是一个从实际开发中抽取出来的框架,完成了大量开发中的通用步骤,留给开发者仅仅是与特定应用相关的部分,从而提高了企业 ...

  7. 如何在Spring框架上做开发之Context启动中的“Hook”

    1.概述 有些时候,我们需要在spring启动过程中加入一些自己的逻辑,特别是一些基本框架和spring做整合的时候(例如:mybatis-spring-boot-starter),就需要使用Spri ...

  8. MyBean 框架入门手册<感谢[青铜]整理的如此细致和系统>

    MyBean 框架入门手册 2014/9/15 by lighttop 目 录 MyBean 框架学习笔记............................................... ...

  9. SSM框架面试题及答案整理

    一.Spring面试题 1.Spring 在ssm中起什么作用? Spring:轻量级框架 作用:Bean工厂,用来管理Bean的生命周期和框架集成. 两大核心:①. IOC/DI(控制反转/依赖注入 ...

随机推荐

  1. 110道python题+理解(不断更新)

    此篇题目在网上已经广为流传,但好多都不做解释,所以我想着自己一道一道的做一遍,并将相关涉及的做个补充,个人知识毕竟片面,有不足的地方还请大家多多指正 一.请用一行代码实现1-100之和 >> ...

  2. Javaweb程序打包或exe执行文件

    java程序的打包与发布 这里主要是讲解一下怎样将 Java程序打包成独立运行的exe程序包,以下这种方法应该是最佳的解决方案了.NetDuke的EXE程序包了是使用这种方案制作的.在操作步骤上还是比 ...

  3. Oracle数据类型之nchar

    nchar(size)  nvarchar2(size) n 代表的意思是编码格式为unicode编码,无论中文或者英文都以一个字符来存放数据. 举例: 比如“a” ,占用一个字符 比如“月”,占用一 ...

  4. 牛客网多校赛第七场A--Minimum Cost Perfect Matching【位运算】【规律】

    链接:https://www.nowcoder.com/acm/contest/145/A 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524 ...

  5. 使用DBMS_SUPPORT包

    DBMS_SUPPORT包从Oracle7.2引入,主要功能用以提供更完整的用户session跟踪信息,这个包可以通过运行 dbmssupp.sql 和 prvtsupp.plb 两个脚本来创建.该脚 ...

  6. rbac - 初识

    一.rbac 权限组件 1 项目与应用 一个项目,可以有多个应用 一个应用,可以在多个项目下 前提:应用是组件!! 2 什么是权限? 一个包含正则表达式url就是一个权限 who what how - ...

  7. 【我的Android进阶之旅】解决AndroidStudio编译时报错:Timeout waiting to lock artifact cache .

    1. 错误描述 今天在Android Studio中,使用gradle命令的时候,出现了如下所示的错误: D:\GitLab Source\XTCLint>gradlew clean uploa ...

  8. 零碎收集cocos知识

    Configuration类 返回环境变量 local function menuCallback(tag, pSender) printInfo("selected item tag:%d ...

  9. JavaScript性能优化小窍门汇总(含实例)

    在众多语言中,JavaScript已经占有重要的一席之地,利用JavaScript我们可以做很多事情 , 应用广泛.在web应用项目中,需要大量JavaScript的代码,将来也会越来越多.但是由于J ...

  10. C# 使用 wkhtmltopdf 把HTML文本或文件转换为PDF

    一.简介 之前也记录过一篇关于把 HTML 文本或 HTML 文件转换为 PDF 的博客,只是之前那种方法有些局限性. 后来又了解到 wkhtmltopdf.exe 这个工具,这个工具比起之前的那种方 ...