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

自定义标签入门

WBOY
WBOYOriginal
2016-06-07 11:37:351236Durchsuche

自定义标签小实例
学习自定义标签时,请查看手册(扩展->标签库)中的相关介绍
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元

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn