Thinkphp 框架扩展之Widget扩展实现方法分析
ThinkPHP  /  管理员 发布于 7年前   381
本文实例讲述了Thinkphp 框架扩展之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程序设计有所帮助。
原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..路人 在
php中使用hyperf框架调用讯飞星火大模型实现国内版chatgpt功能示例中评论 教程很详细,如果加个前端chatgpt对话页面就完美了..博主 在
科学上网翻墙之v2rayN-Core客户端免费公益节点使用教程中评论 @ mashrdn 多切换几个节点测试,免费ssr是没那么稳..Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号