溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

PHP Smarty 模板 自定義插件

發(fā)布時(shí)間:2020-07-11 17:15:57 來(lái)源:網(wǎng)絡(luò) 閱讀:562 作者:津沙港灣 欄目:web開發(fā)

插件

是按需載入的。當(dāng)特定的修飾器,函數(shù),資源等被調(diào)用的時(shí)候插件才會(huì)被載入。

插件目錄變量

可以是一個(gè)路徑的字符串或者是包含多個(gè)路徑的數(shù)組。

安裝插件的方法

是直接把插件文件放置在這些目錄下,Smarty會(huì)自動(dòng)按需使用。

  1. 設(shè)定插件目錄(新建一個(gè)myplugins文件夾)

D:\wamp\www\test\smarty\libs\plugins\

D:\wamp\www\test\smarty\libs\myplugins\

//定義根目錄
define('ROOT', str_replace("\\", "/",dirname(__FILE__))."/");
//注意添加一個(gè)插件,要把系統(tǒng)默認(rèn)設(shè)置的路徑加入 否則不能使用默認(rèn)系統(tǒng)的插件
$smarty->setPluginsDir(array(
    ROOT."/libs/plugins/",//系統(tǒng)默認(rèn)設(shè)置的路徑
    ROOT."/libs/myplugins/",//自定義的
));

 2.定義插件函數(shù)

<?php
/*
 * 1.確定插件位置 $smarty->setPlugsDir();
 * 2.文件命名要有規(guī)則,才能通過(guò)文件名確定這個(gè)文件  modifier.函數(shù)名.php
 * 3.函數(shù)名要有規(guī)則,才能找到這個(gè)文件中的這個(gè)函數(shù)
 * 4.參數(shù)要有規(guī)則 第一個(gè)必須是要處理的變量 第二個(gè)以后才是要使用的參數(shù)
 */
        function smarty_modifier_mystyle($str,$size="3",$color="pink"){
                        return "<font color='{$color}' size='{$size}'>{$str}</font>";
        }

3.模板調(diào)用插件(修飾器)

<{$sex|mystyle:6:red}>

4.瀏覽器輸出

male x

附上php頁(yè)面代碼

<?php 
//創(chuàng)建smarty對(duì)象
require_once './libs/Smarty.class.php';
//定義根目錄
define('ROOT', str_replace("\\", "/",dirname(__FILE__))."/");
//實(shí)例化Smarty類
$smarty=new Smarty();
//設(shè)定定界符
$smarty->left_delimiter="<{";
$smarty->right_delimiter="}>";
//設(shè)置為false 定界符號(hào)左右可以有空格
$smarty->auto_literal = false;

//添加一個(gè)插件的目錄
//$smarty->setPluginsDir(ROOT."/libs/myplugins/");

//注意添加一個(gè)插件,要把系統(tǒng)默認(rèn)設(shè)置的路徑加入 否則不能使用默認(rèn)系統(tǒng)的插件
$smarty->setPluginsDir(array(
    ROOT."/libs/plugins/",//系統(tǒng)默認(rèn)設(shè)置的路徑
    ROOT."/libs/myplugins/",//自定義的
));
//獲取插件的目錄
var_dump($smarty->getPluginsDir());
//變量賦值
$smarty->assign('sex','male x');
//變量輸出
$smarty->display('hello.tpl');
?>


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI