快速业务通道

使用Agavi进行MVC编程简介,第1部分:使用Agavi开辟一个新世界

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-22
quot;/>
  <base href="<?php echo $ro->getBaseHref(); ?>" />
  <title>Welcome to Agavi!</title>
 </head>
 <body>
  <div>
   <p>You are running <em><?php echo $t[''agavi_release'']; ?>
    </em></p>
  </div>
 </body>
</html>

从上面的清单3 代码片段中,看看如何使用setAttribute()方法在视图中定义模板变量 $t[''agavi_release''],然后动态地插入到模板文件中。

最后,您应该在应用程序的共享区域(在本例中为$WASP_ROOT/pub/—)中存储视图使用的所有 Web 访问文件,比如图像文件、JavaScript库或 flash 动画,然后从模板内部正确地引用它们。

现在,简单总结一下:用于请求任何应用程序 URL的HTTP GET请求都会通过Agavi的路由子系统自动匹配到Welcome/IndexAction,而Welcome/IndexAction 通过getDefaultViewName()方法知道应该调用IndexSuccessView。然后,IndexSuccessView 调用它的executeHtml()方法生成 HTML 输出,将一些模板变量插入到HTML 标记中,并将输出发送回到客户端以供显示。

根据这段解释,您会了解到几件事情:

首先,只要操作和视图的命名和位置正确,您需要做的工作就很少。这个框架将自动地查找并执行文件,而不需要任何手动干预。如果您觉得文件命名约定不太好理解,请不要担心 —— 因为您在提供静态内容 中可以看到,有一个向导能够为您处理所有这些细节!

其次,路由在匹配 URL请求并将其指向恰当的操作中起到重要作用。这还意味着,与其他框架不同,操作可以存在于体系结构的任何位置中,并且应用程序的URL 不需要直接反映内部操作分类和位于不同类别中的模块。类似地,安全性和特权绑定到操作本身,而不是绑定到模块。

再次,一个操作可以有多个视图,并且每个视图可以处理不同的输出类型。这增加了代码的可重用性,并且便于日后向相同的操作添加 XML或RSS 输出视图。

设置应用程序索引页面和主模板

现在,您已经对Agavi如何工作有了一定了解,可以开始构建应用程序了。尽管 Agavi的欢迎页面看起来很简单,但您需要向用户首先展示它。因此,作为第一步,您将为应用程序创建一个新的索引页面。

首先,转到$WASP_ROOT目录并删除由项目向导自动生成的Welcome模块,如下所示:

shell> rm -rf app/modules/Welcome 
shell> rm -rf app/pub/welcome 

此外,在$WASP_ROOT/app/config/routing.xml文件上编辑路由表,并删除其中的各项,最后得到一个空配置(暂时的),如清单5 所示:

清单5. 路由表

<?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>

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

项目向导已经创建了一个默认的模块,它包含一个 IndexAction 和一个 IndexSuccessView;这对应用程序的索引页面而言是一个好选择。在您的文本编辑器中打开文件$WASP_ROOT/app/modules/Default/actions/IndexAction.class.php,确保它包含清单6 所示的行:

清单6. Default/Index Action定义

<?php
class Default_IndexAction extends WASPDefaultBaseAction
{
 public function getDefaultViewName()
 {
  return ''Success'';
 }
}
?>

接下来,检查是否存在视图文件$WASP_ROOT/app/modules/Default/views/Index

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号