Thinkphp 框架扩展之Widget扩展实现方法分析

 更新时间:2020年04月23日 10:44:42   作者:人生如初见_张默  
这篇文章主要介绍了Thinkphp 框架扩展之Widget扩展实现方法,结合实例形式分析了Thinkphp 框架Widget扩展概念、原理、实现方法及操作注意事项,需要的朋友可以参考下

本文实例讲述了Thinkphp 框架扩展之Widget扩展实现方法。分享给大家供大家参考,具体如下:

Widget扩展

Widget扩展一般用于页面组件的扩展。

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

namespace Home\Widget;
use Think\Controller;
class CateWidget extends Controller {
  public function menu(){
    echo 'menuWidget';
  }
}

然后,我们在模版中通过W方法调用这个Widget。

{:W('Cate/Menu')}

执行后的输出结果是:

menuWidget

传入参数

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

namespace Home\Widget;
use Think\Controller;
class CateWidget extends Controller {
  public function menu($id,$name){
    echo $id.':'.$name;
  }
}

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

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

传入的参数是一个数组,顺序对应了menu方法定义的参数顺序。

则会输出

5:thinkphp

模板支持

Widget可以支持使用独立的模板,例如:

namespace Home\Widget;
use Think\Controller;
class CateWidget extends Controller {
  public function menu(){
    $menu = M('Cate')->getField('id,title');
    $this->assign('menu',$menu);
    $this->display('Cate:menu');
  }
}

CateWiget类渲染了一个模版文件 View/Cate/menu.html。 在menu.html模版文件中的用法:

<foreach name="menu" item="title">
{$key}:{$title}
</foreach>

更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。

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

相关文章

  • Mac系统下搭建Nginx+php-fpm实例讲解

    Mac系统下搭建Nginx+php-fpm实例讲解

    这篇文章主要介绍了Mac系统下搭建Nginx+php-fpm实例讲解,不懂mac系统下如何搭建php环境的小伙伴可以跟随小编一起来学习研究下吧
    2020-12-12
  • 实例详解PHP中html word 互转的方法

    实例详解PHP中html word 互转的方法

    这篇文章主要介绍了实例详解PHP中html word 互转的方法的相关资料,涉及到php html word互转的相关知识,本文介绍的非常详细,具有参考借鉴价值
    2016-01-01
  • php从数据库中读取特定的行(实例)

    php从数据库中读取特定的行(实例)

    下面小编就为大家带来一篇php从数据库中读取特定的行(实例)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • thinkphp中AJAX返回ajaxReturn()方法分析

    thinkphp中AJAX返回ajaxReturn()方法分析

    这篇文章主要介绍了thinkphp中AJAX返回ajaxReturn()方法,结合实例形式分析了thinkPHP中ajax操作的功能、数据返回格式以及ajaxReturn方法的简单使用技巧,需要的朋友可以参考下
    2016-12-12
  • 双冒号 ::在PHP中的使用情况

    双冒号 ::在PHP中的使用情况

    前几天在百度知道里面看到有人问PHP中双冒号::的用法,当时给他的回答比较简洁因为手机打字不大方便!今天突然想起来,所以在这里总结一下我遇到的双冒号::在PHP中使用的情况
    2015-11-11
  • CI框架封装的常用图像处理方法(缩略图,水印,旋转,上传等)

    CI框架封装的常用图像处理方法(缩略图,水印,旋转,上传等)

    这篇文章主要介绍了CI框架封装的常用图像处理方法,涉及针对图像的缩略图、水印、旋转、上传等操作,需要的朋友可以参考下
    2016-11-11
  • ThinkPHP使用smarty模板引擎的方法

    ThinkPHP使用smarty模板引擎的方法

    这篇文章主要介绍了ThinkPHP使用smarty模板引擎的方法,需要的朋友可以参考下
    2014-07-07
  • php单例模式示例分享

    php单例模式示例分享

    这篇文章主要分享了一则php单例模式的示例,设计模式这些的花点心思基本的是能够理解的,当然要想很好的运用到项目上也是需要一定的实践,不能只是知道了解,或者说的是很厉害很懂的,一到要实际操作就不行了,废话就不多说了
    2015-02-02
  • laravel 查询数据库获取结果实现判断是否为空

    laravel 查询数据库获取结果实现判断是否为空

    今天小编就为大家分享一篇laravel 查询数据库获取结果实现判断是否为空,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • CI框架验证码CAPTCHA辅助函数用法实例

    CI框架验证码CAPTCHA辅助函数用法实例

    这篇文章主要介绍了CI框架验证码CAPTCHA辅助函数用法,以实例形式详细讲述了基于CAPTCHA辅助函数实现验证码的方法,需要的朋友可以参考下
    2014-11-11

最新评论