经常会有这样的需求:
     1. 网站的很多页面都会使用共同的外部静态资源文件,比如说,网站的顶部header、底部footer、菜单栏navigation,这时候使用include包含同一个外部资源文件就比较适合;
    

     2. 如果一个网站需要有权限控制显示不同的菜单,有一个种方法可以通过权限的控制参数动态的显示哪一个功能显示,哪一个功能不显示,这种方法只适合比较简单的功能,如果权限功能很复杂,就会有很多冗余代码,前后端耦合太大,并且后期维护基本不可能了

3. 比较好的方式是
   a. 不同的权限,有不同的菜单目录独立的文件,比如说navigation_admin.html,navigation_user.html
   b. 根据不同权限动态include不同的菜单文件
   很多人都想直接给include传递一个参数,然后动态加载不同的文件,就像下面这个样子

可是问题来了,thinKphp的include并不支持动态加载文件,其机制加载一次之后,将不会再渲染之后动态变更的,网上有的教程是修改源码,这明显是不妥的.

4. 下面简单介绍一下如何利用thinkphp超级强大的T函数和A函数:
   a. 假设有两个不同的navigation的静态文件
  

b. 需要新建一个CommonController.class.php,我这里是根据session('target_menu‘)的值去动态判断应该引入的是哪一个navigation文件
  
c. 假设有一个页面index.html需要引入,只需要如下简单的两步就可以了

d.然后就可以动态的显示不同的结果啦

Thinkphp 实现动态include相关推荐

  1. php动态包含文件路径,ThinkPHP实现动态包含文件的方法

    本文实例讲述了ThinkPHP实现动态包含文件的方法.分享给大家供大家参考.具体分析如下: 问题描述:在做项目的时候遇到问题,也是很常见的问题,一般主页包含头部和脚步,为了方便管理,这些都需要使用包含 ...

  2. 5.jsp中动态include与静态include的区别

    动态include在使用的时候,会先解析所要包含的页面(你例子中的included.jsp),解析后在和主页面放到一起显示:静态INCLUDE在使用的时候,不会解析所要包含的页面(你例子中的inclu ...

  3. 静态Include和动态Include测试并总结

    v主要代码 vhjzgg.css .center-div{width:auto;margin-left: 40%;margin-right: 40%;display: block;position: ...

  4. 如果要用thinkphp框架_php需要改哪些配置,thinkPHP框架动态配置用法实例分析

    本文实例讲述了thinkPHP框架动态配置用法.分享给大家供大家参考,具体如下: 最近在用@ThinkPHP 做系统的时候,要用到一个功能,就要动态的将系统的配置参数保存到Config文件中.以往,我 ...

  5. 静态和动态include

    今天突然意识到野猪对静态和动态的include的区别理解有点模糊,现在总结一下: 动态include:<jsp: include page="include.jsp" ful ...

  6. jsp中动态include与静态include的区别

    JSP中动态INCLUDE与静态INCLUDE的区别 动态INCLUDE用jsp:include动作实现 <jsp:include page="included.jsp" f ...

  7. jsp中静态include和动态include的区别

    为什么80%的码农都做不了架构师?>>>    (1)静态导入(include指令)通过file属性指定被包含的文件,并且file属性不支持任何表达式:动态导入(include动作) ...

  8. Jsp中的动态INCLUDE和静态INCLUDE的区别?

    其实就是动态包含和静态包含的区别: 1. 两者格式不同,静态包含:<%@ include file="文件" %>,而动态包含 < jsp : include p ...

  9. thinkphp实现动态下拉菜单(补充 设置默认值)

    在下拉菜单中的选项 用动态方式添加 提高项目可扩展性 HTML部分 <span style="font-family:KaiTi_GB2312;font-size:18px;" ...

  10. jsp学习之包含——include

    http://blog.e23.cn/?uid-1255655-action-viewspace-itemid-134232 1.include: Include 指令: <%@ include ...

最新文章

  1. 冷启动问题:如何构建你的机器学习组合?
  2. 适用于Java EE / Jakarta EE开发人员的Micronaut
  3. Intel VMM-虚拟机监控器
  4. mysql hang分析_mysql hang
  5. micropython做产品开发_关于MicroPython是否可以真正用在产品开发的讨论
  6. CCF CSP201912-1 报数
  7. 求求你,下次面试别再问我什么是 Spring AOP 和代理了!
  8. 对计算机专业的认识500字_【热门】我的朋友作文500字4篇
  9. java向hdfs提交命令_Java语言操作HDFS常用命令测试代码
  10. Ansible之roles使用
  11. Centos 设置时区和时间以及增加中文输入法
  12. 简易矩阵乘法计算器2.0
  13. 如何从git中移除一个子模块(submodule)
  14. 2020年中国报废汽车拆解回收行业市场现状分析,汽车报废率远低于发达国家「图」
  15. shell脚本 插队
  16. Discuz deleterow函数解析
  17. 学习中LINUX中常见问题
  18. 好用的 Windows 软件授权管理工具 - slmgr
  19. 7种常见的APPUI界面设计布局风格欣赏
  20. R语言惩罚逻辑回归、线性判别分析LDA、广义加性模型GAM、多元自适应回归样条MARS、KNN、二次判别分析QDA、决策树、随机森林、支持向量机SVM分类优质劣质葡萄酒十折交叉验证和ROC可视化

热门文章

  1. 如果你知道10条以上,你就和我一样渊博了
  2. 1.1浅谈Spring(一个叫春的框架)
  3. B VUE系列 三:vuex,vue全局变量管理和状态更新的利器
  4. 自己写的一个Js小插件
  5. Labview实现脉波调制( PDM )
  6. Mahout聚类分析
  7. 连锁加盟网站源码_连锁60秒:招商只是开始,养商才最重要
  8. 拓端tecdat|R语言Fama French (FF) 三因子模型和CAPM多因素扩展模型分析股票市场投资组合风险/收益可视化
  9. 拓端tecdat|Python用稀疏、高斯随机投影和主成分分析PCA对MNIST手写数字数据进行降维可视化
  10. Linux复习-vi编辑器