thinkPHP下小部件扩展使用示例分析
本文说明了thinkPHP下小部件扩展的用法。分享给大家参考,如下:
Widget扩展用于根据需要在页面上输出不同的内容。Widget扩展定义为在项目的Lib\Widget目录下定义一个Widget类库。例如,用于显示最新评论的小部件定义如下:
它位于lib \ widget \ showcommentwidget.class.php。
Widget类库需要继承Widget类,并且必须定义渲染方法实现,例如:
render方法必须使用return返回要输出的字符串信息,而不是直接输出。
Widget还可以调用Widget类的renderFile方法来渲染模板,然后输出。
在项目的lib目录下创建一个widget目录,与action目录处于同一级别。
建立TestWidget.class.php:
class TestWidget扩展了Widget { public function render($ data){//print _ r($ data);$ data[' id ']=$ data[' id '];$ data[' info ']=$ data[' info '];$ content=$ this-render file(' index ',$ data);//print _ r($ content);返回$ content}}在这个目录下建立对应的Test文件夹,把$this-rendFile调用的html页面放在下面。
Index.html使用循环显示数据信息。
这是小部件Foreach name=' id ' item=' VO ' span style=' color 3360 # ff 0000 '/所调用的模板页注意:id对应于$ data/span { $ VO }/Foreach br Foreach name=' info ' item=' VO ' span style=' color : # ff 0000 '/info对应于$ data/span Foreach name=' VO ' item=' v ' { $ v }/Foreach/Foreach/diva action方法的键值
IndexAction.class.php
代码如下:
class TestAction扩展Action { public function index(){ $ info=array(array(' 1 ',' AA ',' title '),array('2 ',' BB ',' title 2 ')));$this-assign('info ',$ info);$ this-display();}}动作调用的tpl中的html页面是index.html。
代码如下:
Div是actionbr {:w ('test '),array ('id'=array ('id ',' name ',' title ',' info'=$ info))传递给TestWidget.class.php的参数} span style=' color3360 # cc0000'/由test调用。
页面显示如下:
这样,show.html的内容就包括在内了。
什么时候名字会用widgte?
Widget通常是打包的JS效果组件,有些效果可以通过直接调用‘Add parameter’获得,比如TAB菜单、轮播、照片轮播等交互效果。
就像网站的菜单栏。右侧经常不更新的列.
方便多次调用,比如页面左侧显示新闻列表。如果每一页都调用这个列表,你必须在每个控制器中写一次相同的代码吗?你不累吗?你可能只需要用小部件写一次,然后在模板中多次使用?
希望本文对基于thinkPHP框架的PHP程序设计有所帮助。
版权声明:thinkPHP下小部件扩展使用示例分析是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。