Thinkphp 实现动态include
经常会有这样的需求:
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相关推荐
- php动态包含文件路径,ThinkPHP实现动态包含文件的方法
本文实例讲述了ThinkPHP实现动态包含文件的方法.分享给大家供大家参考.具体分析如下: 问题描述:在做项目的时候遇到问题,也是很常见的问题,一般主页包含头部和脚步,为了方便管理,这些都需要使用包含 ...
- 5.jsp中动态include与静态include的区别
动态include在使用的时候,会先解析所要包含的页面(你例子中的included.jsp),解析后在和主页面放到一起显示:静态INCLUDE在使用的时候,不会解析所要包含的页面(你例子中的inclu ...
- 静态Include和动态Include测试并总结
v主要代码 vhjzgg.css .center-div{width:auto;margin-left: 40%;margin-right: 40%;display: block;position: ...
- 如果要用thinkphp框架_php需要改哪些配置,thinkPHP框架动态配置用法实例分析
本文实例讲述了thinkPHP框架动态配置用法.分享给大家供大家参考,具体如下: 最近在用@ThinkPHP 做系统的时候,要用到一个功能,就要动态的将系统的配置参数保存到Config文件中.以往,我 ...
- 静态和动态include
今天突然意识到野猪对静态和动态的include的区别理解有点模糊,现在总结一下: 动态include:<jsp: include page="include.jsp" ful ...
- jsp中动态include与静态include的区别
JSP中动态INCLUDE与静态INCLUDE的区别 动态INCLUDE用jsp:include动作实现 <jsp:include page="included.jsp" f ...
- jsp中静态include和动态include的区别
为什么80%的码农都做不了架构师?>>> (1)静态导入(include指令)通过file属性指定被包含的文件,并且file属性不支持任何表达式:动态导入(include动作) ...
- Jsp中的动态INCLUDE和静态INCLUDE的区别?
其实就是动态包含和静态包含的区别: 1. 两者格式不同,静态包含:<%@ include file="文件" %>,而动态包含 < jsp : include p ...
- thinkphp实现动态下拉菜单(补充 设置默认值)
在下拉菜单中的选项 用动态方式添加 提高项目可扩展性 HTML部分 <span style="font-family:KaiTi_GB2312;font-size:18px;" ...
- jsp学习之包含——include
http://blog.e23.cn/?uid-1255655-action-viewspace-itemid-134232 1.include: Include 指令: <%@ include ...
最新文章
- 冷启动问题:如何构建你的机器学习组合?
- 适用于Java EE / Jakarta EE开发人员的Micronaut
- Intel VMM-虚拟机监控器
- mysql hang分析_mysql hang
- micropython做产品开发_关于MicroPython是否可以真正用在产品开发的讨论
- CCF CSP201912-1 报数
- 求求你,下次面试别再问我什么是 Spring AOP 和代理了!
- 对计算机专业的认识500字_【热门】我的朋友作文500字4篇
- java向hdfs提交命令_Java语言操作HDFS常用命令测试代码
- Ansible之roles使用
- Centos 设置时区和时间以及增加中文输入法
- 简易矩阵乘法计算器2.0
- 如何从git中移除一个子模块(submodule)
- 2020年中国报废汽车拆解回收行业市场现状分析,汽车报废率远低于发达国家「图」
- shell脚本 插队
- Discuz deleterow函数解析
- 学习中LINUX中常见问题
- 好用的 Windows 软件授权管理工具 - slmgr
- 7种常见的APPUI界面设计布局风格欣赏
- R语言惩罚逻辑回归、线性判别分析LDA、广义加性模型GAM、多元自适应回归样条MARS、KNN、二次判别分析QDA、决策树、随机森林、支持向量机SVM分类优质劣质葡萄酒十折交叉验证和ROC可视化
热门文章
- 如果你知道10条以上,你就和我一样渊博了
- 1.1浅谈Spring(一个叫春的框架)
- B VUE系列 三:vuex,vue全局变量管理和状态更新的利器
- 自己写的一个Js小插件
- Labview实现脉波调制( PDM )
- Mahout聚类分析
- 连锁加盟网站源码_连锁60秒:招商只是开始,养商才最重要
- 拓端tecdat|R语言Fama French (FF) 三因子模型和CAPM多因素扩展模型分析股票市场投资组合风险/收益可视化
- 拓端tecdat|Python用稀疏、高斯随机投影和主成分分析PCA对MNIST手写数字数据进行降维可视化
- Linux复习-vi编辑器