您现在的位置是:首页 >

手机无法加载插件什么意思 编写Smarty插件在模板中直接加载数据的详细介绍

火烧 2021-09-09 07:57:06 1049
编写Smarty插件在模板中直接加载数据的详细介绍   之前使用 marty的时候 通常是在 h 程序端读取数据(一般从数据库) 然后a ig 给模板的变量 才可以在前端使用这个变量 这样不是不好 只

编写Smarty插件在模板中直接加载数据的详细介绍  

手机无法加载插件什么意思 编写Smarty插件在模板中直接加载数据的详细介绍

  之前使用smarty的时候 通常是在php程序端读取数据(一般从数据库) 然后assign给模板的变量 才可以在前端使用这个变量 这样不是不好 只是数据多的时候php端的代码维护起来有点麻烦 特别是当存在很多模板块化得数据时 所以写了个插件 结合之前的crud类实现在前端模板可以加载一些模块化得数据

复制代码 代码如下: <?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 {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 ])) { //把数据赋值给变量$params[ assign ] 这样前端就可以使用这个变量了(例如可以结合foreach输出一个列表等) $smarty >assign($params[ assign ] $db >get_block_list(array($params[ where ]) $params[ limit ])); } } ?>

   写成插件除了可以减少很多维护之后 还有一个显著的好处就是可以在这个插件中对查询数据库的操作进行统一的格式化和过滤操作 这样在前端就可以这样加载数据了

复制代码 代码如下: lishixinzhi/Article/program/PHP/201311/20890  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码