这篇文章主要介绍了Smarty使用自定义资源的方法,实例分析了smarty自定义资源的定义与使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
本文实例讲述了Smarty使用自定义资源的方法。分享给大家供大家参考。具体如下:
- <?php
- // put these function somewhere in your application
- function db_get_template ($tpl_name, &$tpl_source, &$smarty_obj)
- {
- // do database call here to fetch your template,
- // populating $tpl_source
- $sql = new SQL;
- $sql->query("select tpl_source
- from my_table
- where tpl_name='$tpl_name'");
- if ($sql->num_rows) {
- $tpl_source = $sql->record['tpl_source'];
- return true;
- } else {
- return false;
- }
- }
- function db_get_timestamp($tpl_name, &$tpl_timestamp, &$smarty_obj)
- {
- // do database call here to populate $tpl_timestamp.
- $sql = new SQL;
- $sql->query("select tpl_timestamp
- from my_table
- where tpl_name='$tpl_name'");
- if ($sql->num_rows) {
- $tpl_timestamp = $sql->record['tpl_timestamp'];
- return true;
- } else {
- return false;
- }
- }
- function db_get_secure($tpl_name, &$smarty_obj)
- {
- // assume all templates are secure
- return true;
- }
- function db_get_trusted($tpl_name, &$smarty_obj)
- {
- // not used for templates
- }
- // register the resource name "db"
- $smarty->register_resource("db", array("db_get_template",
- "db_get_timestamp",
- "db_get_secure",
- "db_get_trusted"));
- // using resource from php script
- $smarty->display("db:index.tpl");
- ?>
希望本文所述对大家基于smarty的php程序设计有所帮助。
新闻热点
疑难解答