Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选

首页 / 网页编程 / PHP / 使用Agavi进行MVC编程简介,第4部分

使用Agavi进行MVC编程简介,第4部分2010-02-26 IBM Vikram Vaswani使用Agavi进行MVC编程简介,第4部分: 创建一个带有多种输出类型(XML、RSS 或SOAP)的Agavi搜索引擎

简介

在本系列的第 3 部分中,您经历了构建基于 Web 的应用程序时经常遇到的一个任务:实现一个允许管理员通过 Web 界面执行 CRUD 操作的管理模块。您还探索了 Agavi 的安全模型,构建了用于验证用户的登录系统,以保护对应用程序资源的访问。

现在继续 Agavi 学习,为这个 WASP(Web 汽车销售平台)示例应用程序添加更多功能。您将实现一个搜索引擎,允许用户直接搜索数据库,获取匹配特定条件的清单。而且,Agavi 为开发人员提供了一个复杂的框架,允许他们为应用程序轻松添加对多种输出类型(XML、RSS 或 SOAP)的支持。本文将学习如何通过最少的编程支持从搜索引擎返回 XML 编码的结果。

处理搜索标准

常用缩略词

API:应用程序编程接口

CRUD:创建、阅读、更新和删除

CVS:并发版本系统

DOM:文档对象模型

HTML:超文本标记语言

HTTP:超文本传输协议

MVC:模型-视图-控制器

PDF:可移植文档格式

RSS:真正简易的聚合

URL:统一资源定位器

XML:可扩展标记语言

到目前为止,这个 WASP 应用程序可以接受经销商提交的车辆清单并将其存储在数据库中以便批准。本系列第 3 部分开发的管理模块允许管理员审查并批准这些提交的清单,以便在 Web 站点上显示它们。管理员还可以定义每个清单在网站上显示的时间长度。

要使潜在买家更容易地找到满足他们需要的车辆,现在最好向应用程序添加一个搜索功能。这个搜索界面将接收来自买家的特定条件,搜索批准的清单以寻找满足条件的汽车,最后显示结果以进一步检查。

首先,使用 Agavi 构建脚本向 Listing 模块添加一个新的 SearchAction:

shell> agavi action-wizard
Module name: Listing
Action name: Search
Space-separated list of views to create for Search [Success]: Error Success

并且更新应用程序的路由表,为这个 Action 添加一个新的路由,如 清单 1 所示:

清单 1. Listing/SearchAction 路由定义

<?xml version="1.0" encoding="UTF-8"?>
<ae:configurations xmlns:ae="http://agavi.org/agavi/config/global/envelope/1.0"
xmlns="http://agavi.org/agavi/config/parts/routing/1.0">
<ae:configuration>
<routes>
...
<!-- action for listing pages "/listing" -->
<route name="listing" pattern="^/listing" module="Listing">
<route name=".create" pattern="^/create$" action="Create" />
<route name=".display" pattern="^/display/(id:d+)$" action="Display" />
<route name=".search" pattern="^/search$" action="Search" />
</route>
...
</routes>
</ae:configuration>
</ae:configurations>