使用Agavi进行MVC编程简介,第2部分 (一) - 面向对象网 php 学习 对象 - 面向对象技术开发

面向对象技术开发

会员投稿 投稿指南 站长资讯通告:
您的位置: 首页 > OOP语言 > PHP > 正文

使用Agavi进行MVC编程简介,第2部分 (一)

来源: www.bianceng.cn 阅读:

使用Agavi 进行MVC编程简介,第2部分: 使用Agavi和Doctrine添加表单和数据库支持1

简介

在本系列的第 1 部分中,我介绍了Agavi并解释了一些特性,这些特性让 Agavi 适合用于构建可扩展、遵从标准的Web应用程序。通过使用样例应用程序 Web Automobiles Sales Platform (WASP),我逐步向您展示了创建新的Agavi 项目的基础知识,帮助您理解 Agavi 推荐的文件系统布局,并熟悉 Agavi 的命令行构建脚本。我还介绍了所有 Agavi应用程序的基础组件 —— 操作(Actions)、视图(Views)和路由(Routes)—— 并展示了一些内置的Agavi 输入验证器。

尽管 Agavi 过去常常用于提供静态内容,但是它也能很好地处理更复杂的情况。在第 2 部分中,您将检验 Agavi 处理复杂内容的能力 —— 在接下来几个小节中,您将学习如何接收、验证和处理来自 Web表单的输入,并将Agavi应用程序连接到 MySQL 数据库。

使用 Agavi 创建表单

首先,这里快速浏览了WASP应用程序的索引页面(图1):

图1. WASP应用程序的索引页面

\

您在上一篇文章中已经准备好代码,以处理连接到静态内容的两个链接。我们继续前进,开始处理 “联系我们” 链接。顾名思义,这个链接指向一个联系表单,通过该表单可以联系到汽车交易商。实现这个功能的总体过程与在前一篇文章中构建 StaticContentAction 的过程相似。

首先启动 Agavi 构建脚本并输入下列值:

shell> agavi action-wizarD
...
Module name: Default
Action name: Contact
Space-separated list of views to create for Contact [Success]: Input Error Success

这将创建一个新的ContactAction 和其他 3 个视图。您已经熟悉 ContactSuccessView 和 ContactErrorView 这两个标准的视图,它们根据操作的成功或失败而显示。第三个视图ContactInputView 是全新的;它是用户看到的第一个视图,并且显示将接受用户输入的Web表单。

为$WASP_ROOT/app/routing.xml 文件中的ContactAction 添加一个新的路由,如清单1所示:

清单1. Default/ContactAction 路由定义

<?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 contact form "/contact" -->
   <route name="contact" pattern="^/contact$" module="Default"
    action="Contact" />

  </routes>
 </ae:configuration>
</ae:configurations>

Tags:
相关文章列表: