Rumah >php教程 >php手册 >自定义标签入门

自定义标签入门

WBOY
WBOYasal
2016-06-07 11:37:351234semak imbas

自定义标签小实例
学习自定义标签时,请查看手册(扩展->标签库)中的相关介绍
http://document.thinkphp.cn/manual_3_2.html#taglib_driver

主要分三步:
一、自定义标签(新建Test.class.php文件)namespace Think\Template\TagLib; // 当前文件所在的目录<br> use Think\Template\TagLib; // Template目录下的TagLib.class.php文件<br> <br> class Test extends TagLib {<br>     protected $tags   =  array(<br>         // 定义标签<br>         'edit'    =>    array('attr'=>'type,name,id,value','close'=>0), // 调用这个标签,就是映射到真正的input标签(因为返回的就是input标签),这里不过是换了一个名称而已<br>         'content' =>    array('attr'=>'name,id'),  // 原理同上<br>     );<br> <br>     // edit标签解析(每个标签的解析方法在定义的时候需要添加“_”前缀)<br>     public function _edit($tag)   {<br>         $name   =   $tag['name'];<br>         $id    =    $tag['id'];<br>         $type   =   $tag['type'];<br>         $value   =   $tag['value'];<br>         $str = "<input>";<br>         return $str;<br>     }<br>     // content标签解析<br>     public function _content($tag,$content)   {<br>         $name  =   $tag['name'];<br>         $id    =   $tag['id'];<br>         $str   =   '<textarea>'.$content.'</textarea>';<br>         return $str;<br>     }<br> }二、赋值变量,输出模板    public function index(){<br>         $this->assign('value', 'hello world !');<br>         $this->display('tag');<br>     }三、在模板中输出nbsp;html><br> <br> <br>     <meta> <br>     <title></title> <br> <br> <br>     <taglib></taglib><!-- 指定标签库 --><br>     <edit></edit><br>     <hr> <br>     <content>{$value}</content><br> <br> 自动调用:
要在config文件里加上如下配置:    'TAGLIB_LOAD'=>true, <br>     'APP_AUTOLOAD_PATH'=>'@.TagLib',<br>     'TAGLIB_BUILD_IN'=>'Cx,Test',然后模板输出就要这样写了(不需要写test:前缀和了):    <edit></edit><br>     <hr> <br>     <content>{$value}</content>效果:
自定义标签入门

简单理解,所谓自定义标签就是看返回的是什么,如果返回的是html标签,那就以html标签展现出来;如果返回的是纯数据,那就又文本的形式展现出来(以组装从sql取出来的数据为多)    protected $tags   =  array(<br>         'data'    =>    array('attr'=>'type','close'=>0), // input标签<br>     );<br> <br>     public function _data($tag)   {<br>         switch ($tag['type']) {<br>             case 1:<br>                 return '<div>返回的是类型1</div>';<br>                 break;<br>             case 2:<br>                 return '<div>返回的是类型1</div>';<br>                 break;<br>             default:<br>                 return '<div>默认类型</div>';<br>                 break;<br>         }<br>     }模板渲染:    <data></data><br>     <data></data><br>     <data></data>效果:
自定义标签入门

谢谢关注~

AD:真正免费,域名+虚机+企业邮箱=0元

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn