本文实例讲述了Smarty使用自定义资源的方法。分享给大家供大家参考。具体如下:
<?php// put these function somewhere in your applicationfunction 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程序设计有所帮助。