加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

ThinkPHP实现动态包含文件的方法

发布时间:2020-12-13 02:13:36 所属栏目:PHP教程 来源:网络整理
导读:《ThinkPHP实现动态包含文件的方法》要点: 本文介绍了ThinkPHP实现动态包含文件的方法,希望对您有用。如果有疑问,可以联系我们。 本篇章节讲解ThinkPHP实现动态包含文件的办法.供大家参考研究.具体分析如下: PHP教程 问题描述:在做项目的时候遇

《ThinkPHP实现动态包含文件的方法》要点:
本文介绍了ThinkPHP实现动态包含文件的方法,希望对您有用。如果有疑问,可以联系我们。

本篇章节讲解ThinkPHP实现动态包含文件的办法.分享给大家供大家参考.具体分析如下:PHP教程

问题描述:在做项目的时候遇到问题,也是很常见的问题,一般主页包含头部和脚步,为了方便管理,这些都需要使用包含文件来实现,ThinkPHP提供了包含文件的方法,以上是最简单的包含的操作的方式,但是在运行的过程中我发现,在哀求的时候只是哀求的是模板文件,也就是所谓的静态包含,但是如果遇到菜单是动态生成的就很难办了.PHP教程

在网上找到一个解决方法:使用WidgetPHP教程

1、我们在页面中实现一个分类显示的Widget,首先我们要实现我们首先定义一个Widget控制器层 CateWidget,如下:
PHP教程

代码如下:
class CateWidget extends Action {?
??? public function menu(){?
??????? return 'menuWidget';?
??? }?
}

注意是在Widget包中定义,和一般的Action还是有区别的

2、然后,我们在模版中通过R办法调用这个Widget(扩展Widget方式在模版中使用的是W办法),如果对R函数不了解的参考这里.(http://www.thinkphp.cn/info/134.html)PHP教程

{:R('Cate/Menu','','Widget')}PHP教程

执行后的输出结果是:menuWidgetPHP教程

3、如果,CateWidget类的menu办法改成:
PHP教程

代码如下:
class CateWidget extends Action {?
??? public function menu(){?
??????? echo 'menuWidget';?
??? }?
}

4、模版中的用法则需要改成:
代码如下:
{~R('Cate/Menu','Widget')}

5、如果需要在调用Widget的时候 使用参数,可以这样定义:
PHP教程

代码如下:
class CateWidget extends Action {?
??? public function menu($id,$name){?
??????? echo $id.':'.$name;?
??? }?
}

6、模版中的参数调用,使用:
代码如下:
{:R('Cate/Menu',array(5,'thinkphp'),'Widget')}

则会输出 5:thinkphpPHP教程

7、来一个复杂一点的例子:
PHP教程

代码如下:
class CateWidget extends Action {?
??? public function menu(){?
??????? $menu = M('Cate')->getField('id,title');?
??????? $this->assign('menu',$menu);?
??????? $this->display('Cate:menu');?
??? }?
}

8、CateWiget类渲染了一个模版文件Tpl/Cate/menu.html,调用模版的灵活也是使用这种方式实现Widget的区别(Widget扩展方式中需要调用renderFile办法渲染模版).

在menu.html模版文件中的用法:{$key}:{$title}PHP教程

希望本文所述对大家的ThinkPHP框架程序设计有所赞助.PHP教程

《ThinkPHP实现动态包含文件的方法》是否对您有启发,欢迎查看更多与《ThinkPHP实现动态包含文件的方法》相关教程,学精学透。编程之家 52php.cn为您提供精彩教程。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读