Smarty使用自定义资源的方法
本文实例讲述了Smarty使用自定义资源的方法。分享给大家供大家参考。具体如下:
<?php
//putthesefunctionsomewhereinyourapplication
functiondb_get_template($tpl_name,&$tpl_source,&$smarty_obj)
{
//dodatabasecallheretofetchyourtemplate,
//populating$tpl_source
$sql=newSQL;
$sql->query("selecttpl_source
frommy_table
wheretpl_name='$tpl_name'");
if($sql->num_rows){
$tpl_source=$sql->record['tpl_source'];
returntrue;
}else{
returnfalse;
}
}
functiondb_get_timestamp($tpl_name,&$tpl_timestamp,&$smarty_obj)
{
//dodatabasecallheretopopulate$tpl_timestamp.
$sql=newSQL;
$sql->query("selecttpl_timestamp
frommy_table
wheretpl_name='$tpl_name'");
if($sql->num_rows){
$tpl_timestamp=$sql->record['tpl_timestamp'];
returntrue;
}else{
returnfalse;
}
}
functiondb_get_secure($tpl_name,&$smarty_obj)
{
//assumealltemplatesaresecure
returntrue;
}
functiondb_get_trusted($tpl_name,&$smarty_obj)
{
//notusedfortemplates
}
//registertheresourcename"db"
$smarty->register_resource("db",array("db_get_template",
"db_get_timestamp",
"db_get_secure",
"db_get_trusted"));
//usingresourcefromphpscript
$smarty->display("db:index.tpl");
?>
希望本文所述对大家基于smarty的php程序设计有所帮助。