使用Agavi进行MVC编程简介,第1部分:使用Agavi开辟一个新世界
简介 如果您是一位严肃的PHP开发人员,您可能已经了解(甚至使用过)PHP应用程序开发框架,比如Symfony、CakePHP和Zend Framework。这些框架提供全面的API,几乎囊括大部分应用程序的需求,并且是PHP应用程序开发的坚实基础。您可以轻松地将它们与第三方库或社区开发的组件集成起来,以实现其他功能。 尽管以上列出的框架无疑是最流行的,但它们却不是仅有的;每个月都会有新的框架出现。这个系列关注一个框架:Agavi,它是一个灵活并且可伸缩的框架,值得专业的PHP开发人员考虑采用。 在这个系列文章中,我将通过Agavi 引领您了解基于MVC的应用程序开发的基础知识,向您介绍基础的框架概念,并演示如何利用Agavi的独特方法快速高效地从头构建一个功能齐全的Web应用程序。经历这个过程之后,您将了解这个框架的细微之处,理解保证它的安全性和可扩展性的设计决策,并且将这个很有价值的框架添加到您的PHP开发工具箱中。现在,我们开始出发! 为什么选择 Agavi? 常用缩略词 API:应用程序编程接口(Application program interface) CRUD:创建、读取、更新和删除(Create Read Update Delete) CSS:层叠样式表(Cascading stylesheet) CVS:并发版本系统(Concurrent Versions System) DNS:域名系统(Domain Name System) HTML:超文本标记语言(Hypertext Markup Language) HTTP:超文本传输协议(Hypertext Transfer Protocol) MVC:模型-视图-控制器(Model-View-Controller) OOP:面向对象编程(Object-oriented programming) ORM:对象关系映射(Object-Relational Mapping) PEAR:PHP 扩展和应用程序储存库(PHP Extension and Application Repository) RSS:真正简单的联合(Really Simple Syndication) SQL:结构化查询语言(Structured Query Language) SVN:Subversion URL:统一资源定位器(Uniform Resource Locator) XML:可扩展标记语言(Extensible Markup Language) XSL:可扩展样式表语言(Extensible Stylesheet Language) 我首先回答一个非常基础的问题:什么是Agavi,它有哪些独特的特性? 根据该框架的官方 Web 站点的说法,Agavi 是“一个强大并且可伸缩的采用MVC 范式的PHP5应用程序框架。”它为构建和部署基于PHP的Web应用程序提供全面的工具,并为安全性、数据缓存、国际化、输入验证和数据库抽象提供内置支持。它原来是Mojavi 项目的一部分,目前由德国的一家软件公司 Bitextender GmbH 维护,并根据 GNU Lesser General Public License 2.1 向社区发布。 Agavi的有趣源于多种原因。下面给出我认为最重要的3个原因: 首先,它强烈关注代码的可重用性,从而允许开发人员轻松创建通向应用程序的某项功能的不同接口。这对经常需要向内部公开 HTML和SOAP接口的Web应用程序尤为重要。例如,假设您想要构建一个通向应用程序的现有搜索引擎功能的SOAP接口。通过使用Agavi,这就像定义一个新的输出类型一样简单,或者像定义一个以新的格式输出现有函数的呈现器一样简单。没有必要修改现有的功能,从头构建的过程是很简单的,并且很容易实现。 其次,Agavi 提供一个高级的URL 路由机制,允许进行大量配置,确定URL 路由如何映射到应用程序函数。这个路由机制支持可选和必选参数、默认值、嵌套路由以及回调函数。它是Agavi的最重要特性之一。这个路由机制就像 Agavi应用程序的其他配置一样,完全使用XML 表示,并且 Agavi的配置子系统允许在运行时访问全局的应用程序设置和变量。 再次,Agavi以开箱即用的方式提供极度严格的请求过滤和输入验证。过滤器可用于提前或推迟处理控制器方法。在每次请求时都验证请求参数,并且 Agavi 会自动删除未知参数,从而大大降低SQL注入和类似攻 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |