快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-22
teHtml(AgaviRequestDataHolder $rd)
 {
  $this->setupHtml($rd);
  $this->setAttribute(''_title'', ''View Listing'');
  $id = $rd->getParameter(''id'');
  $q = Doctrine_Query::create()
     ->from(''Listing l'')
     ->leftJoin(''l.Manufacturer m'')
     ->leftJoin(''l.Country c'')
     ->where(''l.RecordID = ?'', $id);
   $result = $q->fetchArray();
   if (count($result) == 1) {
    $this->setAttribute(''listing'', $result[0]);
    return ''Success'';
   } else {
    return $this->createForwardContainer(
     AgaviConfig::get(''actions.error404_module''),
     AgaviConfig::get(''actions.error404_action''));
   }
 }
}
?>

executeHtml() 方法的前面几行设置视图模板,并获取输入变量 使用Agavi进行MVC编程简介,第2部分 (二) - 凌众科技

快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-22
content

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号

GET[''id''] 的值。然后这个值被插入到一个Doctrine 查询中,该查询试图在数据库中查找匹配列表(要详细了解 Doctrine 查询的细节,请查看 参考资料 小节提供的对应手册页链接)。如果查询仅返回一条记录,该结果将作为联合数组分配到模板变量 $t[''listing'']。如果没有匹配项,或找到多个匹配项,视图将自动跳转到应用程序的 Error404 操作。

这次,通过设置 DisplayErrorView(清单 19)指定输入验证失败时发生的行为不失为一个好主意。

清单 19. Listing/DisplayErrorView 定义

<?php

class Listing_DisplayErrorView extends WASPListingBaseView
{
 public function executeHtml(AgaviRequestDataHolder $rd)
 {
  $this->setupHtml($rd);
  return $this->createForwardContainer(
   AgaviConfig::get(''actions.error404_module''),
   AgaviConfig::get(''actions.error404_action''));
 }
}

?>

非常简单 —— 将再次跳转到默认的 Error404 操作。

最后,设置 DisplaySuccess 模板实际显示从数据库获得的信息(清单 20):

清单 20. Listing/DisplaySuccess 模板

<h3>FOR SALE: <?php printf(''%d %s %s (%s)'',
 $t[''listing''][''VehicleYear''], $t[''listing''][''Manufacturer''][''ManufacturerName''],
 ucwords(strtolower($t[''listing''][''VehicleModel''])),
 ucwords(strtolower($t[''listing''][''VehicleColor'']))); ?></h3>

 <div id="container">
  <div id="specs">
   <table cellspacing="5">
    <tr>
     <td class="key">Listing ID: </td>
     <td class="value"><?php echo $t[''listing''][''RecordID'']; ?></td>
    </tr>
    <tr>
     <td class="key">Year of manufacture: </td>
     <td class="value"><?php echo
      $t[''listing''][''VehicleYear'']; ?></td>
    </tr>
    <tr>
     <td class="key">Color: </td>
     <td class="value"><?php echo
      $t[''listing''][''VehicleColor'']; ?></td>
    </tr>
    <tr>
     <td class="key">Mileage: </td>
     <td class="value"><?php e

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号