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. Css-常用css

    /*怪异盒子模型*/ .box { box-sizing: border-box; } /*水平居中的内联块级*/ .inBlock { display: inline-block; vertical ...

  2. 我对shiro的初步认识

    package com.shiro; import org.apache.shiro.SecurityUtils; import org.apache.shiro.authc.*; import or ...

  3. ABP 样板开发框架系列

    --ABP 官网与源码 http://www.aspnetboilerplate.com/ https://github.com/aspnetboilerplate --pdf和docx 文档 htt ...

  4. spring boot由浅入深(二)spring boot基本命令及操作

    一 spring常见注解 @RestController和@RequestMapping说明: @RestController.这被称为一个构造型(stereotype)注解.它为阅读代码的人们提供建 ...

  5. Disruptor的伪共享解决方案

    1.术语 术语 英文单词 描述 内存屏障 Memory Barriers 是一组处理器指令,用于实现对内存操作的顺序限制. In the Java Memory Model a volatile fi ...

  6. AE开发的一个想法

    基于字典进行GIS图形进行编辑. 图层信息 大类别 字典项(属性字段) 居民点 控制点 GPS控制点 线状道路 铁路 省道 国道 一般公路 名称 长度 等级 备注 线状水系 面状道路 面状水系 湖泊 ...

  7. 【开发者笔记】利用shp2pgsql将shape文件导入到postgresql中

    导入shp文件到postgresql中 1.首先,你需要让shp2pgsql命令可用,百度下载,加入环境变量即可. 下载地址:https://download.osgeo.org/postgis/wi ...

  8. Selenium之IE浏览器的启动问题及解决

    前面有篇文章说到启动IE浏览器时,会出现以下错误提示: 浏览器启动之后,页面不会自动输入代码设置的地址,如下图展示 查看报错语句,发现原来是浏览器比例调的不正确,修改浏览器比例为100%即可解决该问题

  9. 为什么要同时重写equals和hashcode

    原文地址https://blog.csdn.net/tiantiandjava/article/details/46988461 原文地址https://blog.csdn.net/lijiecao0 ...

  10. SpringData_JpaRepository接口

    该接口提供了JPA的相关功能 List<T> findAll(); //查找所有实体 List<T> findAll(Sort sort); //排序.查找所有实体 List& ...