中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

thinkPHP2.1自定義標簽庫的導入方法詳解
來源:易賢網 閱讀:1128 次 日期:2016-08-11 15:38:05
溫馨提示:易賢網小編為您整理了“thinkPHP2.1自定義標簽庫的導入方法詳解”,方便廣大網友查閱!

本文詳細講述了thinkPHP2.1自定義標簽庫的導入方法。分享給大家供大家參考,具體如下:

TP的手冊似乎跟不上節奏, 對自定義標簽只是寥寥幾句, 摸索了N久, 終于將自定義的標簽進行了導入. 心得如下:

1. 情況:  新建自定義的標簽庫類: @.Mylib.Tag.TagLibTest — 懂TP的應該知道這代表的路徑

使用Examples下的Tag演示文件

<?php

// +-----------------------------------------------------------

// | ThinkPHP

// +------------------------------------------------------------

// | Copyright (c) 2009 http://thinkphp.cn All rights reserved.

// +------------------------------------------------------------

// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )

// +------------------------------------------------------------

// | Author: liu21st <liu21st @gmail.com="">

// +------------------------------------------------------------

// $Id$

import('TagLib');

class TagLibArticle extends TagLib{

 // 標簽定義

 protected $tags = array(

  // 標簽定義:

  //attr 屬性列表 close 是否閉合(0 或者1 默認1) alias 標簽別名 level 嵌套層次

  'article'=>array('attr'=>'name,field,limit,order,where,sql,key,mod','level'=>3),

  );

 //定義查詢數據庫標簽

 public function _article($attr,$content) {

  $tag = $this->parseXmlAttr($attr,'article');

  $result = !empty($tag['result'])?$tag['result']:'article'; //定義數據查詢的結果存放變量

  $key = !empty($tag['key'])?$tag['key']:'i';

  $mod = isset($tag['mod'])?$tag['mod']:'2';

  if ($tag['name'])

  { //根據用戶輸入的值拼接查詢條件

   $sql = "M('{$tag['name']}')->";

   $sql .= ($tag['field'])?"field({$tag['field']})->":'';

   $sql .= ($tag['order'])?"order({$tag['order']})->":'';

   $sql .= ($tag['where'])?"where({$tag['where']})->":'';

   $sql .= "select()";

  }else{

   if (!$tag['sql']) return ''; //排除沒有指定model名稱,也沒有指定sql語句的情況

   $sql .= "M()->query('{$tag['sql']}')";

  }

  //下面拼接輸出語句

  $parsestr = '<?php $_result='.$sql.'; if ($_result): $'.$key.'=0;';

  $parsestr .= 'foreach($_result as $key=>$'.$result.'):';

  $parsestr .= '++$'.$key.';$mod = ($'.$key.' % '.$mod.' );?>';

  $parsestr .= $content;//解析在article標簽中的內容

  $parsestr .= '<?php endforeach; endif;?>';

  return $parsestr;

 }

}

?></liu21st>

然后在項目下的Conf目錄新建taglibs.php文件, 內容:

<?php

return array(

 'article'=>'@.TagLib.TagLibarticle',

);

?>

這樣就可以模板里使用了:

<tagLib name="article" />

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>

 <head>

 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

 <title>ThinkPHP示例:自定義標簽</title>

<link rel='stylesheet' type='text/css' href='__PUBLIC__/Css/common.css'>

 </head>

 <body>

 <div class="main">

 <h2>ThinkPHP示例之自定義標簽:定義查詢數據庫的標簽</h2>

 本示例定義一個查詢數據庫的標簽,可以使模板直接按條件查找指定的數據庫并列表顯示,本例僅是展示自定義標簽的方便之處,可以進一步擴充和完善,打造屬于自已的標簽體系

 <table cellpadding=2 cellspacing=2>

 <thead>

 <tr>

 <td class="tLeft" width="8%">序列</td><td class="tLeft" width="12%">標題</td><td>內容</td>

 </tr>

</thead>

  <article:article name="form" limit="10">

  <tr>

   <td>{$article.id}</td>

   <td>{$article.title}</td>

   <td>{$article.content}</td>

  </tr>

 </article:article>

<tr>

 <td colspan='3'>

 <hr> 示例源碼<br/>控制器自定義標簽類<br/> <php>highlight_file(LIB_PATH.'TagLib/TagLibarticle.class.php');</php></td>

 </tr>

 </table>

</div>

 </body>

</html>

這是很簡單的情況, 但是我的想法是要求自定義標簽庫能自動導入, 這樣就不用在每一個模板里第一行加上類似 <tagLib name="article" /> 這樣的標簽了.

只是這遇到了一點問題

2. 自動導入自定義標簽庫

在config.php文件里加上:

'TAGLIB_PRE_LOAD' => 'article' ,

清除緩存, 提示錯誤 "實例化一個不存在的類!" ;

使用在TP官方論壇轉了幾圈, 發現只有一個方式能解決: 使用別名導入, 即在TP框架里的commonn/alias.php下添加導入的路徑:

如:

代碼如下:

'TagLibArticle' => THINK_PATH.'/Lib/Think/Template/TagLib/TagLibArticle.class.php',

還有一些修改Template類源碼的方案, 不好使 — 因為通常我不希望為了一點小問題修改核心.

于是想到Action的導入:

在自己的項目基類BaseAction.class.php里加入導入:

function _initialize() {

 import("@.Mylibs.Tag.TagLibArticle");

}

刷新緩存, 問題解決…

這方案簡單好用.

補充:

使用TP的自動加載配置更加快捷:

'APP_AUTOLOAD_PATH'=> 'Think.Util.,@.Mylibs.Tag.',

最終方案:

1. 建立Mylibs.Tag.TagLibTest — 自定義標簽庫

2. 配置:

'APP_AUTOLOAD_PATH'=> 'Think.Util.,@.Mylibs.Tag.',

'TAGLIB_PRE_LOAD' => 'test' ,

刪除緩存后既可正常使用.

希望本文所述對大家基于ThinkPHP框架的PHP程序設計有所幫助。

更多信息請查看網絡編程
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026上岸·考公考編培訓報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
欧美日韩精品在线| 亚洲欧美区自拍先锋| 欧美精品久久一区| 国产精品午夜在线| 欧美日韩一区二区高清| 国产精品热久久久久夜色精品三区| 国产欧美精品| 美女主播一区| 国产亚洲精品久久久久久| 亚洲大片精品永久免费| 亚洲欧美日韩综合一区| 亚洲女人小视频在线观看| 欧美黑人一区二区三区| 激情久久久久久久| 亚洲欧美国产日韩天堂区| 欧美电影资源| 在线精品在线| 国产精品亚洲人在线观看| 日韩视频免费观看高清完整版| 久久久青草婷婷精品综合日韩| 国产欧美日韩视频| 亚洲婷婷综合久久一本伊一区| 国产精品久久久久久久久免费| 欧美亚洲尤物久久| 国内精品久久久| 亚洲激情在线| 日韩亚洲一区在线播放| 欧美日韩免费高清| 久久精品在线播放| 午夜在线成人av| 免费国产自线拍一欧美视频| 免费观看在线综合| 国产精品盗摄一区二区三区| 欧美激情在线狂野欧美精品| 久久久久一区二区三区| 久久婷婷色综合| 一区二区三区国产精品| 久久精品国产免费| 国产精品一区二区在线观看| 国产手机视频精品| 亚洲精品久久久久久一区二区| 亚洲欧美韩国| 一区福利视频| 欧美日韩一区二区三区在线观看免 | 国语自产在线不卡| 欧美一区国产一区| 亚洲国产欧美在线| 在线精品亚洲| 欧美日韩精品免费在线观看视频| 午夜亚洲一区| 亚洲欧洲精品一区二区三区不卡 | 国产精品国色综合久久| 亚洲伊人网站| 亚洲二区在线观看| 欧美高清视频在线播放| 欧美日本久久| 日韩小视频在线观看专区| 国精品一区二区| 亚洲欧美国产va在线影院| 欧美电影专区| 久久久精品一区二区三区| 欧美午夜精品理论片a级按摩| 亚洲丶国产丶欧美一区二区三区| 亚洲欧美电影院| 猫咪成人在线观看| 欧美日韩在线精品| 亚洲午夜久久久久久久久电影网| 亚洲影院在线观看| 伊人色综合久久天天| 国模一区二区三区| 好看的日韩视频| 欧美人妖另类| 久久国产欧美| 日韩一级在线观看| 亚洲在线免费| 在线观看成人av| 在线午夜精品自拍| 欧美久久电影| 最新日韩精品| 欧美精品久久一区| 亚洲国产免费看| 欧美大片va欧美在线播放| 在线观看日韩av先锋影音电影院| 久久久99国产精品免费| 伊人男人综合视频网| 久久福利毛片| 一区免费视频| 久久综合伊人77777| 国色天香一区二区| 欧美一区午夜视频在线观看| 国产精品一区二区在线观看不卡| 亚洲综合色在线| 国产美女精品人人做人人爽| 久久国内精品视频| 亚洲国产精品久久久久婷婷老年| 欧美成人免费观看| 一本一本久久a久久精品综合麻豆| 欧美性猛交xxxx乱大交蜜桃| 亚洲欧美日韩国产综合| 国内精品视频一区| 欧美高清影院| 亚洲一区二区三区精品在线| 欧美在线视频全部完| 国产日韩欧美黄色| 樱桃成人精品视频在线播放| 亚洲免费观看| 久久国产精品亚洲77777| 久久久亚洲高清| 国产精品成人va在线观看| 国产精品青草久久| 日韩亚洲欧美综合| 亚洲国产另类久久精品| 亚洲福利视频网| 欧美日韩综合另类| 性18欧美另类| 亚洲国产成人精品视频| 欧美日韩国产区| 久久精品国产亚洲精品| 亚洲国产天堂网精品网站| 国产精品中文在线| 欧美xx视频| 久久久午夜精品| 一区二区高清视频| 国产日产欧产精品推荐色 | 久久国产成人| 亚洲美女在线视频| 在线精品高清中文字幕| 国产精品丝袜白浆摸在线| 国内外成人在线| 国产精品爽爽ⅴa在线观看| 久久久午夜视频| 久久爱www.| 亚洲一区二区视频| 亚洲人成亚洲人成在线观看| 亚洲国产精品ⅴa在线观看 | 免费日本视频一区| 欧美一区二区三区在线免费观看 | 国产精品久久网站| 免费影视亚洲| 日韩一区二区电影网| 在线欧美电影| 国语自产精品视频在线看| 国产精品狠色婷| 欧美美女操人视频| 蜜臀av在线播放一区二区三区| 久久久久久久国产| 久久精品国产2020观看福利| 久久精品人人做人人爽| 欧美中文在线观看| 欧美一区二区三区婷婷月色 | 亚洲国产精品久久久久秋霞不卡| 欧美a级理论片| 久久精品五月婷婷| 亚洲欧美成人一区二区在线电影| 国产一区二区三区av电影| 欧美激情视频在线播放| 麻豆成人精品| 欧美久色视频| 亚洲男同1069视频| 激情校园亚洲| 欧美久久久久久蜜桃| 欧美日韩成人综合天天影院| 欧美大片18| 欧美日韩网址| 欧美视频一区二| 欧美99久久| 欧美无砖砖区免费| 欧美日韩在线播放三区四区| 国产精品福利久久久| 国产精品福利久久久| 国产欧美在线观看一区| 黄色成人av网站| 伊人男人综合视频网| 亚洲精品视频一区| 99日韩精品| 久久九九精品99国产精品| 久久国产精品亚洲va麻豆| 久久精品夜夜夜夜久久| 久久综合久久综合九色| 你懂的国产精品永久在线| 欧美激情成人在线视频| 欧美日韩在线一二三| 国产精品每日更新在线播放网址| 国产精品影片在线观看| 国产日韩av一区二区| 尤物99国产成人精品视频| 最近看过的日韩成人| 中文无字幕一区二区三区| 99在线精品视频| 日韩视频精品在线| aⅴ色国产欧美| 在线一区二区日韩| 亚洲综合色视频| 亚洲欧美亚洲| 久久视频一区二区| 欧美日本在线看| 国产嫩草一区二区三区在线观看 | 国产视频一区二区在线观看| 国内精品模特av私拍在线观看 | 一区二区三区在线高清|