欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

編寫Smarty插件在模板中直接加載數(shù)據(jù)的詳細(xì)介紹

 更新時間:2013年06月26日 09:48:08   作者:  
本篇文章是對編寫Smarty插件在模板中直接加載數(shù)據(jù)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
之前使用smarty的時候,通常是在php程序端讀取數(shù)據(jù)(一般從數(shù)據(jù)庫),然后assign給模板的變量,才可以在前端使用這個變量。這樣不是不好,只是數(shù)據(jù)多的時候php端的代碼維護(hù)起來有點(diǎn)麻煩,特別是當(dāng)存在很多模板塊化得數(shù)據(jù)時。

所以寫了個插件,結(jié)合之前的crud類實現(xiàn)在前端模板可以加載一些模塊化得數(shù)據(jù)。
復(fù)制代碼 代碼如下:

<?php
/**
 * Smarty plugin
 * @package Smarty
 * @subpackage plugins
 */
/**
 * Smarty {load_data} function plugin
 *
 * Type:     function<br>
 * Name:     eval<br>
 * Purpose:  evaluate a template variable as a template<br>
 * @link http://smarty.php.net/manual/en/language.function.eval.php {eval}
 * @param array
 * @param Smarty
 */
function smarty_function_load_data($params, &$smarty)
{
    $class = (!isset($params['class']) || empty($params['class'])) ? 'cls_crud' : trim($params['class']);
    (!isset($params['table']) || empty($params['table'])) && exit('`table` is empty!');
    $db = $class::factory(array('table' => $params['table']));
    //var_dump($params);
    if (!empty($params['assign'])) {
        //把數(shù)據(jù)賦值給變量$params['assign'],這樣前端就可以使用這個變量了(例如可以結(jié)合foreach輸出一個列表等)
        $smarty->assign($params['assign'], $db->get_block_list(array($params['where']), $params['limit']));
    }
}
?>

寫成插件除了可以減少很多維護(hù)之后,還有一個顯著的好處就是可以在這個插件中對查詢數(shù)據(jù)庫的操作進(jìn)行統(tǒng)一的格式化和過濾操作。
這樣在前端就可以這樣加載數(shù)據(jù)了:
復(fù)制代碼 代碼如下:

{load_data assign="list" table="test" where="`id`<100" limit=10}
{foreach from=$list item=rec}
   ...
{/foreach}

相關(guān)文章

  • php中http_build_query 的一個問題

    php中http_build_query 的一個問題

    http_build_query 遠(yuǎn)程攻擊者可以利用漏洞獲得敏感內(nèi)存信息。請大家謹(jǐn)慎使用
    2012-03-03
  • php swoole多進(jìn)程/多線程用法示例【基于php7nts版】

    php swoole多進(jìn)程/多線程用法示例【基于php7nts版】

    這篇文章主要介紹了php swoole多進(jìn)程/多線程用法,結(jié)合實例形式分析了基于php7nts版使用swoole進(jìn)行多線程創(chuàng)建、調(diào)用相關(guān)操作技巧,需要的朋友可以參考下
    2019-08-08
  • PHP strip_tags保留多個HTML標(biāo)簽的方法

    PHP strip_tags保留多個HTML標(biāo)簽的方法

    這篇文章主要介紹了PHP strip_tags保留多個HTML標(biāo)簽的方法,需要的朋友可以參考下
    2016-05-05
  • php中JSON的使用方法

    php中JSON的使用方法

    json常用來作為數(shù)據(jù)交換的一種格式,和xml相比體積更小。缺點(diǎn)就是層級關(guān)系不明顯不大容易被理解。php中生成json要借助array和json_encode,json_decode一起使用。越復(fù)雜的json嵌套的數(shù)組越多,下面我們來仔細(xì)探討下這個問題。
    2015-04-04
  • php 數(shù)組使用詳解 推薦

    php 數(shù)組使用詳解 推薦

    對于網(wǎng)頁編程來說,最重要的就是存取和讀寫數(shù)據(jù)了。存儲方式可能有很多種,可以是字符串、數(shù)組、文件的形式等,今天學(xué)習(xí)了數(shù)組,可以說是PHP的數(shù)據(jù)應(yīng)用中較重要的一種方式。
    2011-06-06
  • 一些關(guān)于PHP的知識

    一些關(guān)于PHP的知識

    一些關(guān)于PHP的知識...
    2006-11-11
  • 基于PHP實現(xiàn)JWT登錄鑒權(quán)的示例代碼

    基于PHP實現(xiàn)JWT登錄鑒權(quán)的示例代碼

    JWT(JSON Web Token)是為了在網(wǎng)絡(luò)應(yīng)用環(huán)境間傳遞聲明而執(zhí)行的一種基于JSON的開放標(biāo)準(zhǔn)。本文將為大家介紹PHP如何實現(xiàn)JWT登錄鑒權(quán),需要的可以參考一下
    2022-04-04
  • 新手菜鳥必讀:session與cookie的區(qū)別

    新手菜鳥必讀:session與cookie的區(qū)別

    以下是對php中session與cookie的區(qū)別進(jìn)行了詳細(xì)的分析介紹,新手朋友們一定要過來參考下
    2013-08-08
  • PHP文本操作類

    PHP文本操作類

    PHP文本操作類...
    2006-11-11
  • PHP中執(zhí)行cmd命令的方法

    PHP中執(zhí)行cmd命令的方法

    這篇文章主要介紹了PHP中執(zhí)行cmd命令的方法,需要的朋友可以參考下
    2014-10-10

最新評論