专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »PHP教程 » iterator:php5中Iterator和smarty整合 »正文

iterator:php5中Iterator和smarty整合

来源: 发布时间:星期一, 2009年1月12日 浏览:26次 评论:0
  Iterator(迭代器)在PHP5中是非常重要我注意到Iterator在Smarty中不能正常工作

  Smarty会自动将个object(对象)转换成.gif' />()所以当年在Smarty中循环输出个object时模板会自动循环这个object属性

  例如建立个类然后在中定义某些要循环部分将这些部分放到protected类型$_data变量中

<?php
  MyClassimplementsIterator
  {
    protected$_data=.gif' />;
 
    publicfunctionrewind
    {
      re($this->_data);
    }
 
    publicfunctioncurrent
    {
      current($this->_data);
    }
 
    publicfunctionkey
    {
      key($this->_data);
    }
 
    publicfunctionnext
    {
      next($this->_data);
    }
 
    publicfunctionvalid
    {
      $this->current!false;
    }
 
    publicfunctionsize
    {
      count($this->_data);
    }
  }
?>


  然后在Smarty使用这个类

  {foreachfrom=$myClassObjitem=row}

  {$row}

  {/foreach}

  这样不会输出想要结果下面做下简单修改将$myClassObj改成$myClassObj->getData: [Page]

  {foreachfrom=$myClassObj->getDataitem=row}

  {$row}

  {/foreach}

  这样就能输出正确结果了

0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: