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. 详解spring boot mybatis全注解化

    本文重点介绍spring boot mybatis 注解化的实例代码 1.pom.xml //引入mybatis <dependency> <groupId>org.mybat ...

  2. Python开发【模块】:Urllib(二)

    Urllib实战 1.爬取糗事百科中段子和用户名: 代码实例: # 爬取网站页面内容 import re import urllib.request url = 'https://www.qiushi ...

  3. 利用阿里云搭建私有Git服务器

    服务器系统:Centos 6 (查看centos版本命令:lsb_release -a) 客户端系统:Windows 7 一.服务器端安装Git ==通常centos上使用yum源安装的git版本过低 ...

  4. 【Python】Python 打印和输出更多用法。

    Python 打印和输出 简述 在编程实践中,print 的使用频率非常高,特别是程序运行到某个时刻,要检测产生的结果时,必须用 print 来打印输出. 关于 print 函数,前面很多地方已经提及 ...

  5. (转)在GitHub多个帐号上添加SSH公钥

    GitHub后台可以添加多个SSH Keys,但是同一个SSH Keys只能在添加在一个帐号上(添加时提示“Key is already in use”).理由很容易想到,SSH公钥使用时相当于用户名 ...

  6. 【转】Deep Learning(深度学习)学习笔记整理系列之(八)

    十.总结与展望 1)Deep learning总结 深度学习是关于自动学习要建模的数据的潜在(隐含)分布的多层(复杂)表达的算法.换句话来说,深度学习算法自动的提取分类需要的低层次或者高层次特征. 高 ...

  7. Java多线程(三)

    本文主要接着前面多线程的两篇文章总结Java多线程中的线程安全问题. 一.一个典型的Java线程安全例子 1 public class ThreadTest { 2 3 public static v ...

  8. 3.7 Templates -- Links

    一.The {{link-to}} Helper 1. 使用{{link-to}}创建一个指向route的链接: app/router.js Router.map(function() { this. ...

  9. Uva11374 Dijkstra

    机场快线是市民从市内去机场的首选交通工具.机场快线分为经济线和商业线两种,线路.速度和价格都不同,你有一张商业线车票,可以坐一站商业线,而其他时候,只能乘坐经济线.假设换乘时间忽略不计,你的任务是找一 ...

  10. uva1366 dp

    这题说的是给了 一个矩阵在每个单元内有BLOHHLUM 种的资源 Bi,j, 有YEYENUM 种的 资源Ai,j , 资 源 从 该 单 位 出 发 不能 转 弯 直 接 运 送 到 像 B 类 资 ...