PHP模板引擎Smarty自訂變數調解器的用法及實例分析

墨辰丷
發布: 2023-03-29 15:48:01
原創
1375 人瀏覽過

這篇文章主要介紹了PHP模板引擎Smarty自訂變數調解器用法,較為詳細的分析了smarty變數調節器的用法與自訂變數調節器的實現技巧,需要的朋友可以參考下

在PHP 中,有很多處理文字的函數,您可以把要處理的文字經過函數處理之後,再呼叫Smarty 模板引擎中的assign() 賦值給變量,分配到模板中進行顯示。

Smarty 中的變數調解器和PHP 中處理文字的函數相似,不過語法不相同,在Smarty 中,是透過"|" 後面直接跟調解器函數名,如果有參數,得加在":" 後面,多個參數的話,累加即可。

格式:{$var|modifier1:"參數1":"參數2":參數3|modifier2|modifier3|...}

定義調解器的檔案必須放置在Smarty 中,具體路徑是:libs/plugins/。其檔案名稱,必須按照Smarty 的格式modifier.調解器名稱.php

下面透過一個實例示範Smarty 中,自訂變數調解器的使用

程式思路:做兩個變量調解器,功能是:一個轉換文字;一個截取文字。

init.inc.php(Smarty初始化檔)

template_dir = ROOT_PATH.'/tpl/'; //设置模板文件目录 $_tpl->compile_dir = ROOT_PATH.'./com/'; //设置编译文件目录 $_tpl->left_delimiter = '<{'; //设置左定界符 $_tpl->right_delimiter = '}>'; //设置右定界符 ?>
登入後複製

index.php(主檔案)

assign('str',$_str); //字符串赋值给str $_tpl->assign('str1',strtolower($_str)); //字符串全部转换为小写赋给str1 $_tpl->assign('str2',strtoupper($_str)); //字符串全部转换为大写赋给str2 $_tpl->assign('str3',ucfirst($_str)); //字符串首字母转换为大写赋给str3 $_tpl->assign('str4',substr($_str, 0,15).'...'); //截取字符串前15个字符,后面的用'...'代替,并赋给str4 $_tpl->assign('str5',strtoupper(substr($_str, 0,15)).'...'); //截取字符串前15个字符转换为大写,后面的用'...'代替,并赋给str4 $_tpl->display('index.tpl'); //引入模板 ?>
登入後複製

tpl/index.tpl

   Smarty 中的变量调解器 
<{$str}>
<{$str1}>
<{$str2}>
<{$str3}>
<{$str4}>
<{$str5}>
<{$str|transform}>
<{$str|transform:"lower"}>
<{$str|transform:"upper"}>
<{$str|transform:"firstdx"}>
<{$str|subString:0:15:"###"}>
<{$str|subString:0:15:"@@@"|transform:"upper"}>
<{$str|transform:"upper"|subString:0:15:"@@@"}>
登入後複製

/libs/plugins/modifier.transform.php(轉換檔案調解器)

登入後複製

lib/plugins/modifier.subString.php(截取文字調解器)

=$end_num) { $_str = substr($string, $start_num, $end_num).$addTo; } else { $_str = substr($string, $start_num, $end_num); } return $_str; } ?>
登入後複製

執行結果:

透過上面的實例,表示調解器檔案必須放在Smarty 的插件目錄plugins 下,並且命名必須遵循Smarty 的規則,這樣,才能呼叫到您所寫的調解器函數。還有一點要說明,定義的函數名稱也必須符合 Smarty 內定的命名規則,例如:smarty_modifier_XXX,並且一個調解器文件,只能放一個函數,不能放置多個。

總結:以上就是這篇文章的全部內容,希望能對大家的學習有所幫助。

相關推薦:

php中htmlentities()函數的定義與用法

##PHP產生可點選刷新的驗證碼的方法及簡單實例

php如何產生Android用戶端掃描可登入的二維碼詳解

#

以上是PHP模板引擎Smarty自訂變數調解器的用法及實例分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!