使用Agavi进行MVC编程简介,第1部分:使用Agavi开辟一个新世界
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模块,如下所示:
此外,在$WASP_ROOT/app/config/routing.xml文件上编辑路由表,并删除其中的各项,最后得到一个空配置(暂时的),如清单5 所示: 清单5. 路由表
项目向导已经创建了一个默认的模块,它包含一个 IndexAction 和一个 IndexSuccessView;这对应用程序的索引页面而言是一个好选择。在您的文本编辑器中打开文件$WASP_ROOT/app/modules/Default/actions/IndexAction.class.php,确保它包含清单6 所示的行: 清单6. Default/Index Action定义
接下来,检查是否存在视图文件$WASP_ROOT/app/modules/Default/views/Index |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |