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

本文实例讲述了ThinkPHP实现动态包含文件的方法。分享给大家供大家参考。具体分析如下:

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

在网上找到一个解决办法:使用Widget

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

class CateWidget extends Action {

public function menu(){

return 'menuWidget';

}

}

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

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

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

执行后的输出结果是:menuWidget

3、如果,CateWidget类的menu方法改成:

class CateWidget extends Action {

public function menu(){

echo 'menuWidget';

}

}

4、模版中的用法则需要改成:

{~R('Cate/Menu','','Widget')}

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

class CateWidget extends Action {

public function menu($id,$name){

echo $id.':'.$name;

}

}

6、模版中的参数调用,使用:

{:R('Cate/Menu',array(5,'thinkphp'),'Widget')}

则会输出 5:thinkphp

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

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}

希望本文所述对大家的ThinkPHP框架程序设计有所帮助。

23、微波电路中的过孔、过孔围栏与接地焊盘建模分析 本文详细分析了微波电路设计中过孔、过孔围栏及接地焊盘的建模与优化方法。探讨了过孔模型的发展及其电感与电容特性,通过场求解器和集总元件模型提高建模精度。此外,分析了过孔隔离围栏在改善信号隔离中的作用,并通过2.5D和3D电磁仿真验证其效果。最后,研究了接地焊盘中过孔布局对电路稳定性的影响,提出了优化过孔位置以消除谐振和杂散振荡的方法。文章为微波电路设计提供了重要的理论支持和实践指导。 阅读详情

相关推荐

【STM32 Blue Pill编程】-STM32CubeIDE开发环境搭建与点亮LED

本文为使用 STM32Cube IDE 的 STM32 Blue Pill 入门教程。 在本文中,我们将介绍如何控制 STM32 Blue Pill 的 GPIO 引脚。以及开发环境搭建。 本系列文章将重点介绍采用 ARM Cortex-M 的 BluepellSTM32F103C8 微控制器以及如何使用 STM32CubeIDE 对其进行编程。 STM32CubeIDE是STM32官网提供的IDE

视觉与物联智能 1006

thinkPHP压缩文件夹下的多个文件并下载

/**     * (thinkPHP)压缩文件夹下的多个文件并下载     * 不支持创建多个文件夹==有空完善     * @date: 2017-6-27 下午4:01:57     */     function zipDowload($filename=''){         $export_url = C('PERFOR_EXPORT_FOLDER');      

阿麦兜兜的博客 2610

基于单片机protues仿真的433MHz无线模块编解码收发通信测试(仿真图、源代码)

基于单片机protues仿真的433MHz无线模块编解码收发通信测试(仿真图、源代码)该设计为单片机protues仿真的433MHz无线模块收发通信测试;1、433M超再生收发模块;2、在仿真图中是把发射MCU的P2_7腿直接输入到接收MCU的INT0实现编码解码的;3、通过433MHz无线模块实现无线通信的编解码功能;4、按键控制指令;5、液晶屏显示收发状态和信息;

php调用class文件路径,php调用不同目录的类

php调用不同目录的类1、首先php把不同目录的类的相对路径存入数组,然后使用循环引入类

weixin_32352213的博客 766

php-多目录自动加载

//向自动加载目录列表中添加目录 function classpath($path){ //目录之间用冒号/分号分隔 set_include_path(get_include_path().PATH_SEPARATOR.$path); } //添加自动加载路径 cute_classpath('core/'); cute_classpath('app/'

qq_26742855的博客 383

php跨目录自动加载,从不同文件夹自动加载类

这就是我自动加载controllers文件夹中所有类的方式,# auto load controller classesfunction __autoload($class_name){$filename = 'class_'.strtolower($class_name).'.php';$file = AP_SITE.'controllers/'.$filename;if (file_exist...

weixin_36218209的博客 206

php不同类调用,php调用不同目录的类

php调用不同目录的类1、首先php把不同目录的类的相对路径存入数组,然后使用循环引入类

weixin_30449853的博客 334

php动态包含文件路径,PHP_ThinkPHP实现动态包含文件方法,本文实例讲述了ThinkPHP实现动 - phpStudy...

ThinkPHP实现动态包含文件方法本文实例讲述了ThinkPHP实现动态包含文件方法。分享给大家供大家参考。具体分析如下:问题描述:在做项目的时候遇到问题,也是很常见的问题,一般主页包含头部和脚步,为了方便管理,这些都需要使用包含文件实现,ThinkPHP提供了包含文件方法,以上是最简单的包含的操作的方式,但是在运行的过程中我发现,在请求的时候只是请求的是模板文件,也就是所谓的静态包含,...

weixin_29055137的博客 145

Thinkphp-Laravel学生成绩动态追踪系统设计与实现

随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,学生成绩动态追踪系统设计与实现当然也不能排除在外,从科目信息、学生成绩的统计和分析,在过程中会产生大量的、各种各样的数据。本文以学生成绩动态追踪系统设计与实现为目标,采用B/S模式, 为开发语言 为开发工具,MySQL为数据管理平台,实现学生成绩动态追踪系统设计与实现中的实现学生、教师、班级信息、科目信息、学生成绩、成绩统计等功能。关键词:学生成绩动态追踪系统设计与实现

QQ402205496的博客 1045

php 日志文件夹权限设置,thinkphp5日志文件权限的问题

由于www用户和root用户(比如command的cli进程日志)都有可能对log文件进行读写。如果是由www用户创建的log文件,不会出任何问题。但是如果是先由root用户创建的log文件,然后再到www用户角色去写,就会出问题了因为一般默认创建的log文件的权限是-rw-r--r-也就是www没有权限去写入root用户创建的log文件。网上的方法大体就是像下面代码一样在mkdir的时候修改...

weixin_28742653的博客 931

实现按模板创建php文件

根据tp或laravel框架的控制台make创建类的方法,做一个接口型的创建类方法 首先创建文件夹存放模板文件,例如 nuxt.stub 接下来创建模板内容,并用传参方式传入所需地址及参数 <?php //设定url $url = "http://localhost/{%route%}{%parameter%}"; //获取文件 $data ...

浮云的博客 970

php批量生成网页,如何用Thinkphp5实现批量生成静态网页

问题描述实现一个类似wiki的东西,现在可以解决的是实现PHP遍历了文件夹文件并能在前台显示,但是我现在想解决的是怎么协调好让每个文件对应着相应的静态网页,应该怎么批量实现。问题出现的环境背景及自己尝试过哪些方法用过白痴的办法,手动添加网页,然后被骂了,当然我也知道这个方法不对。Thinkphp3版本有个函数可以,但是5把它给取消了。相关代码// 请把代码文本粘贴到下方(请勿用图片代替代码)控制...

weixin_32541907的博客 511

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

本文实例讲述了thinkPHP框架动态配置用法。分享给大家供大家参考,具体如下:最近在用@ThinkPHP 做系统的时候,要用到一个功能,就要动态的将系统的配置参数保存到Config文件中。以往,我们做系统的时候,项目的配置参数都会直接事先写入到Config/Config.php文件中,然后在项目中应用即可。但是,有些项目,用户需要根据自己的情况将配置参数,通过后台动态的来设置。这种动态的参数配置...

weixin_39738667的博客 86

php d方法的区别,PHP应用:Thinkphp框架中D方法与M方法的区别

PHP应用:Thinkphp框架中D方法与M方法的区别》要点:本文介绍了PHP应用:Thinkphp框架中D方法与M方法的区别,希望对您有用。如果有疑问,可以联系我们。PHP编程D和M的区别主要在于PHP编程M方法不需要创建模型类文件,M方法不会读取模型类,所以默认情况下自动验证是无效的,但是可以通过动态赋值的方式实现PHP编程而D方法必须有创建模型类.PHP编程我们可以用下面两种方法去创建一个...

weixin_42311301的博客 199

php ziparc 扩展_Thinkphp6如何利用ZipArchive打包下载文件

下面由thinkphp框架教程栏目给大家介绍Thinkphp6利用ZipArchive打包下载文件方法,希望对需要的朋友有所帮助!基础环境系统环境:Windows10 x64PHP集成环境:phpstudyPHP依赖管理工具:Composer手册:Thinkphp(一) 下载tp6框架composer create-project topthink/think tp6(二)打包下载类...

weixin_39808803的博客 267

php多级联动动态加载,php 借鉴别人的三级联动改的无限极分类,例:只列三级,依次往下加类即可即可...

此分类是用AJAX做的,分享一下,希望共同交流;以下是三级的,直接上代码:一:一个js文件,一个php显示页,有三个数据php页(分别代表一二三类);二:原理是:html文件里的有onchang事件,每次触发这个onchang事件就会调用js文件,js里的函数会从三个php页获取到数据,然后返回html显示。三:1》、三个php页的数据差不多;如下:p_item.phpinclude_once("...

weixin_29149245的博客 310

php自动引入文件路径_PHP 自动引入一个目录的所有 PHP 文件

我爱水煮鱼有个微信插件,会时不时的退出一些插件的 “插件”,直接下载一个提供的 PHP 文件,上传到插件一个指定的目录即可,插件会自动检测、引入并执行这个文件,研究了下,也想弄一个类似的功能。 代码如下 复制代码 /**引入一个目录的所有文件*http://www.jquerycn.cn*/function Bing_include_all_php( $folder...

weixin_36086687的博客 345

php 来自不同文件夹的类的自动加载

文章来自:https://stackoverflow.com/questions/5280347/autoload-classes-from-different-folders

qq_36184073的博客 765

php自动引入文件路径_PHP中的自动加载操作实现方法详解

本文实例讲述了PHP中的自动加载操作实现方法。分享给大家供大家参考,具体如下:what is 自动加载?或许你已经对自动加载有所了解。简单描述一下:自动加载就是我们在new一个class的时候,不需要手动去写require来导入这个class.php文件,程序自动帮我们加载导入进来。这是php5.1.2(好像是)版本新加入一个功能,他解放了程序员的双手,不需要手动写那么多的require,变得有那...

weixin_36257834的博客 475

php动态包含文件路径,ThinkPHP实现动态包含文件方法_PHP

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

weixin_32394247的博客 176

include:静态包含动态包含

include指令分为静态包含动态包含,下面一一消化……静态包含:相当于被包含页面直接放到包含页来,然后再进行编译执行。语法:file="路径名" %>动态包含:被包含页先进行执行后才放到包含页。其中分为两种,一种为不带参数的,一种为带参数的。语法分别是:(1)、不带参数: page="bottom.jsp"/>(2)、带参数:           page="bottom.j

皮皮的专栏 5221
上一篇: php项目中自动搜索变量,迅睿CMS 自定义搜索seo变量{param}字符串
下一篇: java 线程 join start,java多线程源码解读 start,run,join,yied
佛十格格
博客等级 码龄8年 30粉丝 75原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值