框架简介

2021-09-27 10:55:56
admin
2965
最后编辑:admin 于 2021-09-28 18:37:31

zentaoPHP 框架是青岛易企天创团队在2009年为启动禅道项目管理软件而开发的一款开源、免费的 PHP 框架。在2009年3月1 日发布了第一个版本。后续的主要产品禅道项目管理软件、ZDOO 全协同办公系统、ZSITE全网营销系统等产品都是基于 zentaoPHP 框架开发。

zentaoPHP 框架官网:https://devel.easycorp.cn/page/zentaophp.html

zentaoPHP 框架的特点

zentaoPHP 框架的定位主要是 B/S 架构的应用开发,它不是一款全能型的框架,也不像其他一些框架那样“包办”你的各种常用需求。zentaoPHP 的设计理念是将控制权更大限度地交给研发人员,使用更加灵活。毕竟,工具是帮助我们做事的,而不是替我们做事的。因此和其他的框架相比,它主要有以下特点:

1. 采用单一入口、MVC 模式

单一入口是现在比较流行的开发方式,好处在于可以有一个集中的控制。zentaoPHP 支持 MVC 开发模式。不过与其他框架的各种模板实现相比,zentaoPHP 并没有尝试去开发一套新的模板引擎,而是采用 PHP 作为模板语言,这是既快又简洁的一种方案。

2. 支持 GET 和 PATH_INFO (2)

支持  index.php?m=user&f=info&id=123 这种 GET 方式的调用,也支持 /user/info/123.html 这种方式的调用。如果你能控制你的运行环境,建议使用 PATH_INFO 的方式,这样生成的URL地址更加简捷,而且对搜索引擎更加友好。

3. 数据库访问层兼顾开发者习惯

zentaoPHP 框架内置了 DAO 数据库访问层,在 PDO 的基础上,提供了完整的 SQL 拼装功能,可以非常方便的书写 SQL 查询语句,获取数据。而且在 DAO 的实现上,zentaoPHP 最大力度地兼容之前大家手写 SQL 的习惯,所以大家在使用 zentaoPHP 框架的 DAO 的时候,会发现很亲切,因为和手写 SQL 基本上是相同的。

4. 支持跨模块之间的调用

在 zentaoPHP 框架中,一个模块的 control 或者 model 都可以直接调用另外一个模块的 model,这样就可以将一个应用进行模块化,然后通过采用不同模块的功能,来实现比较复杂的功能。

除了 model 的调用之外,一个模块的 control 还可以 fetch 另外一个模块的 control 方法,这种一般用于一些共用的页面元素,比如打印一个搜索表单,或者打印菜单等等。通过 control 之间的互相调用,实现代码的共享。

5. 无需路由配置,即可获得简捷的URL

zentaoPHP 框架提供了简洁的参数传递方式。比如 user 模块有一个 read 方法,需要 id 和 name 两个参数,通常的 PATH_INFO 为 user/read/id/1/name/wwccss.html,而 zentaoPHP 支持 user/read/1/wwccss.html 的形式,这样就省略了参数名的传递。这一切,都不需要配置任何的路由,直接通过框架的功能就可以获得。

6. 灵活的数据验证机制

zentaoPHP 框架内置了灵活的数据验证机制,可以实现对数据的修正和检查,代码极其紧凑,简洁。

7. 配置和语言使用对象方式引用

zentaoPHP 框架的配置没有用什么 ini 或 yaml 文件,也没有用 php 的数组,而是直接用 PHP 对象的形式。这样配置文件不需要解析,就可以直接使用,而且引用起来十分的方便。形如 $config->db->host 的这种方式,而不是 $config['db']['host'] 的这种方式。书写起来会非常的流畅!

8. 方便的全局变量应用

在 zentaoPHP 框架中,引用 GET,POST, SERVER 这样的全局变量,可以通过这样的方式:$this->get->userName, $this->post->userName, $this->server->remote_addr。

9. 所见即 API

在现在开放平台的潮流下面,有一个非常好的 API 机制是比较重要的。在 zentaoPHP 框架中,每一个接口都可以成为 API。至于 API 的方式,是通过其访问的扩展名来加以区分。比如如果你访问的是 user/read/id/123.html,那么返回的是正常的网页。如果访问的是 user/read/id/123.json,那么返回的就是 json 格式的数据。

10. 内置多语言支持

zentaoPHP 框架支持多种语言功能,会自动根据当前用户客户端的信息来判断使用何种语言,这样可以方便大家开发多语言的应用。

11. 强大的扩展机制

zentaoPHP 框架实现了强大的扩展机制。通过这套扩展机制,做定制开发可以说是轻而易举,再也不用担心维护多个分支带来的痛苦了。