深圳全飞鸿

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 611|回复: 0
打印 上一主题 下一主题

smarty3中block的研究(2) -- 代码编译过程

[复制链接]

800

主题

1379

帖子

7708

积分

版主

Rank: 7Rank: 7Rank: 7

积分
7708
跳转到指定楼层
楼主
发表于 2019-9-5 14:17:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 zhgc 于 2019-9-5 14:34 编辑

smarty3中block的研究(2)  --  代码编译过程

模板内容:
  1. {syant  aa=1 bb=2}
  2. 123
  3. {/syant}
复制代码


翻译后的代码:
  1. <?php $_smarty_tpl->smarty->_cache['_tag_stack'][] = array('syant', array('aa'=>1,'bb'=>2));
  2. $_block_repeat=true;
  3. echo smarty_block_syant(array('aa'=>1,'bb'=>2), null, $_smarty_tpl, $_block_repeat);
  4. while ($_block_repeat) {
  5. ob_start();?>
  6. 123
  7. <?php $_block_repeat=false;
  8. echo smarty_block_syant(array('aa'=>1,'bb'=>2), ob_get_clean(), $_smarty_tpl, $_block_repeat);
  9. }
  10. array_pop($_smarty_tpl->smarty->_cache['_tag_stack']);?>
复制代码



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|nagomes  

GMT+8, 2025-5-5 11:25 , Processed in 0.028685 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表