编写Smarty插件在模板中直接加载数据的详细介绍_PHP教程
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了编写Smarty插件在模板中直接加载数据的详细介绍_PHP教程,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1676字,纯文字阅读大概需要3分钟。
内容图文
![编写Smarty插件在模板中直接加载数据的详细介绍_PHP教程](/upload/InfoBanner/zyjiaocheng/171/2d8e3df7d68e49849e23d23d1e706086.jpg)
所以写了个插件,结合之前的crud类实现在前端模板可以加载一些模块化得数据。
代码如下:
/**
* Smarty plugin
* @package Smarty
* @subpackage plugins
*/
/**
* Smarty {load_data} function plugin
*
* Type: function
* Name: eval
* Purpose: evaluate a template variable as a template
* @link http://smarty.php.com/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'])) {
//把数据赋值给变量$params['assign'],这样前端就可以使用这个变量了(例如可以结合foreach输出一个列表等)
$smarty->assign($params['assign'], $db->get_block_list(array($params['where']), $params['limit']));
}
}
?>
写成插件除了可以减少很多维护之后,还有一个显著的好处就是可以在这个插件中对查询数据库的操作进行统一的格式化和过滤操作。
这样在前端就可以这样加载数据了:
代码如下:
{load_data assign="list" table="test" where="`id`<100" limit=10}
{foreach from=$list item=rec}
...
{/foreach}
http://www.bkjia.com/PHPjc/327902.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/327902.htmlTechArticle之前使用smarty的时候,通常是在php程序端读取数据(一般从数据库),然后assign给模板的变量,才可以在前端使用这个变量。这样不是不好...
内容总结
以上是互联网集市为您收集整理的编写Smarty插件在模板中直接加载数据的详细介绍_PHP教程全部内容,希望文章能够帮你解决编写Smarty插件在模板中直接加载数据的详细介绍_PHP教程所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。