`
阅读更多

Agavi 是 “一个强大并且可伸缩的采用 MVC 范式的 PHP5 应用程序框架。”它为构建和部署基于 PHP 的 Web 应用程序提供全面的工具,并为安全性、数据缓存、国际化、输入验证和数据库抽象提供内置支持。它原来是 Mojavi 项目的一部分,目前由德国的一家软件公司 Bitextender GmbH 维护,并根据 GNU Lesser General Public License 2.1 向社区发布。

Agavi 的有趣源于多种原因。下面给出我认为最重要的 3 个原因:

  1. 首先,它强烈关注代码的可重用性,从而允许开发人员轻松创建通向应用程序的某项功能的不同接口。这对经常需要向内部公开 HTML 和 SOAP 接口的 Web 应用程序尤为重要。例如,假设您想要构建一个通向应用程序的现有搜索引擎功能的 SOAP 接口。通过使用 Agavi,这就像定义一个新的输出类型一样简单,或者像定义一个以新的格式输出现有函数的呈现器一样简单。没有必要修改现有的功能,从头构建的过程是很简单的,并且很容易实现。
  2. 其次,Agavi 提供一个高级的 URL 路由机制,允许进行大量配置,确定 URL 路由如何映射到应用程序函数。这个路由机制支持可选和必选参数、默认值、嵌套路由以及回调函数。它是 Agavi 的最重要特性之一。这个路由机制就像 Agavi 应用程序的其他配置一样,完全使用 XML 表示,并且 Agavi 的配置子系统允许在运行时访问全局的应用程序设置和变量。
  3. 再次,Agavi 以开箱即用的方式提供极度严格的请求过滤和输入验证。过滤器可用于提前或推迟处理控制器方法。在每次请求时都验证请求参数,并且 Agavi 会自动删除未知参数,从而大大降低 SQL 注入和类似攻击的风险。Agavi 包含大量用于执行常见任务的内置验证器,比如验证字符串、数字、时间戳、电子邮件地址和文件。对于内置验证器不足的情形,还可以使用正则表达式或定义定制验证器来执行验证。所有这些特性使得 Agavi 成为开发 Web 应用程序的最安全框架。

除了以上特性之外,Agavi 还提供:

  • 一个条件缓存引擎。
  • 支持最常见的数据库系统(包括 MySQL、PostgreSQL 和 SQL Server)和 ORM(包括 Propel 和 Doctrine)
  • 一个会话管理引擎。
  • 可定制的模板;完全遵从 OOP 原则。

总而言之,这个框架非常酷……现在让我们开始使用它!

使用 Agavi 进行 MVC 编程简介,第 1 部分: 使用 Agavi 开辟一个新世界
这是分为 5 部分的系列文章的第 1 部分。该系列是为对开源、灵活并且可伸缩的 Agavi 框架感兴趣的 PHP 开发人员编写的。在第一篇文章中,您将学习该框架和其他所需组件的安装步骤,大体了解 Agavi 及其功能,并创建您的第一个 Web 应用程序

使用 Agavi 进行 MVC 编程简介,第 2 部分: 使用 Agavi 和 Doctrine 添加表单和数据库支持
本文是分为 5 部分的系列文章的第 2 部分,介绍使用可扩展的开源 Agavi 框架构建输入表单,并使用 Doctrine 为项目自动生成数据模型,然后将这些模型集成到 Agavi 项目中。

使用 Agavi 进行 MVC 编程简介,第 3 部分: 使用 Agavi 添加验证和管理功能
这是一个 5 部分系列文章的第 3 部分,本部分通过增加一些可以删除、添加、更新汽车记录的功能继续构建这个 Web Automobile Sales Platform。本部分还将介绍如何使用验证分离用户功能和管理功能。

使用 Agavi 进行 MVC 编程简介,第 4 部分: 创建一个带有多种输出类型(XML、RSS 或 SOAP)的 Agavi 搜索引擎
在第 4 部分中为您的 Agavi 示例程序实现一个简单的搜索引擎并添加对多种输出类型(XML、RSS 或 SOAP)的支持。这个 5 部分系列是为对开源、灵活并且可伸缩的 Agavi 框架感兴趣的 PHP 开发人员编写的。

使用 Agavi 进行 MVC 编程简介,第 5 部分: 为 Agavi 应用程序添加分页、上传文件和定制输入验证器
本文是为 PHP 开发人员介绍开源、灵活和可伸缩的 Agavi 框架的五部分系列文章的最后一部分。在本文中,您将学习为 Agavi 应用程序上传文件、在会话中储存用户数据、集成第三方库和创建定制输入验证器。

利用 Agavi 创建 REST API

利用 Agavi PHP 框架实现 REST API

http://www.ibm.com/developerworks/cn/xml/x-agaviREST/

分享到:
评论

相关推荐

    agavi, 一个强大可以扩展的PHP5应用框架,遵循.zip

    agavi, 一个强大可以扩展的PHP5应用框架,遵循 许可证:LGPL最新版本: 构建: 主页:http://www.agavi.org/发布:请参阅下载页面或者 github发布版本。命令行目Agavi是一个基于java的强大。可扩展的PHP5应用程序...

    agavi:遵循MVC范例的功能强大,可扩展PHP5应用程序框架

    Agavi的组件具有固有的可扩展性,并且框架本身是围绕基于XML的配置系统设计的,该系统提供了非常灵活的环境。 该框架适用于几乎所有类型的应用程序,但在大型代码库,长期项目,集成的极端情况和其他特殊情况下最...

    honeybee-agavi-cmf-demo:基于honey-agavi-cmf-project的演示CMS

    Honeybee-Agavi内容管理框架(CMF)基于 CQRS和事件源库,其中包括 MVC框架的框架绑定。 它提供了模块化和可扩展的应用程序基础结构,以支持复杂的内容管理系统(CMS)的构建,同时支持域驱动设计(DDD)方法。 ...

    sysbench-mongodb, 用于MongoDB和TokuMX的agavi基准.zip

    sysbench-mongodb, 用于MongoDB和TokuMX的agavi基准 sysbench-mongodb用于MongoDB和TokuMX的Sysbench要求Java 1.6或者 1.7如果你还没有MongoDB驱动程序,那么MongoDB驱动程序必须存在并且位于类路径中,如你还没有...

    lein-cljsbuild, Leiningen插件使ClojureScript开发变得容易.zip

    lein-cljsbuild, Leiningen插件使ClojureScript开发变得容易 lein-cljsbuild最新版本: 这是一个into插件,它使你可以以在修改它时快速而简单地将你的agavi代码编译为 Javascript 。 安装很简单,允许你在 project....

    neutron-specs, OpenStack网络( 中子) 规范.zip

    neutron-specs, OpenStack网络( 中子) 规范 团队和知识库标签 OpenStack这个git仓库用于保存被添加到中子... 我们使用类似的工作流来检查和合并代码本身的变化,这是在agavi中完成的。这里存储库的布局为:specs/<rele

    angular-app, AngularJS的参考应用程序.zip

    angular-app, AngularJS的参考应用程序 AngularJS应用程序演示命令行目这个想法是用 演示... 为了在最有利的环境中展示 agavi,我们已经经设计了一个简化的项目管理工具支持团队。 示例应用程序尝试在以下情况下显示最

Global site tag (gtag.js) - Google Analytics