php开发之smarty一
关于smarty的配置在这里就不说了。这里就说一下其中的两个函数。
(1) assign 方法
assign 用于在模版被执行时为模版变量赋值,语法格式如下:
{assign var =”” value =”“}
参数var为被赋值的变量名,参数value是赋给变量的值。
(2)display方法
display 用来显示模版,需要制定一个合法的模版资源的类型和路径。
语法格式如下:
void display(string template[,string cache_id[,string compile_id]])
参数cache_id 为可选参数,用于指定缓存号。参数compile_id为可选参数用于指定一个编译号。编译号可以将一个模版编译成不同的版本使用。例如,可针对不同的语言编译模版。编译号的另一个作用,如果存在多个
示例代码如下:
<code class=" hljs xml"><span class="php"><span class="hljs-preprocessor"><?php</span> <span class="hljs-comment">//定义服务器的绝对路径</span>define(<span class="hljs-string">'BASE_PATH'</span>, <span class="hljs-variable">$_SERVER</span>[<span class="hljs-string">'DOCUMENT_ROOT'</span>]);<span class="hljs-comment">//定义smarty的绝对路径</span>define(<span class="hljs-string">'SMARTY_PATH'</span>, <span class="hljs-string">'/PHPTEST/smarty/'</span>);<span class="hljs-comment">//加载Smarty的类库文件</span><span class="hljs-keyword">require</span> BASE_PATH.SMARTY_PATH.<span class="hljs-string">'Smarty.class.php'</span>;<span class="hljs-comment">//实例化一个Smarty对象</span><span class="hljs-variable">$smarty</span> = <span class="hljs-keyword">new</span> Smarty();<span class="hljs-comment">//定义各个目录的路径</span><span class="hljs-variable">$smarty</span>->template_dir =BASE_PATH.SMARTY_PATH.<span class="hljs-string">'templates/'</span>;<span class="hljs-variable">$smarty</span>->compile_dir =BASE_PATH.SMARTY_PATH.<span class="hljs-string">'templates_c/'</span>;<span class="hljs-variable">$smarty</span>->config_dir =BASE_PATH.SMARTY_PATH.<span class="hljs-string">'configs/'</span>;<span class="hljs-variable">$smarty</span>->cache_dir =BASE_PATH.SMARTY_PATH.<span class="hljs-string">'cache/'</span>;<span class="hljs-comment">//使用Smarty 赋值方法将一对名称/方法发送到模版中</span><span class="hljs-variable">$smarty</span>->assign(<span class="hljs-string">'title'</span>,<span class="hljs-string">'Jack 的第一个Smarty程序'</span>);<span class="hljs-variable">$smarty</span>->assign(<span class="hljs-string">'content'</span>,<span class="hljs-string">'Hello welcome to study Smarty'</span>);<span class="hljs-comment">//显示模版</span><span class="hljs-variable">$smarty</span>->display(<span class="hljs-string">'index.html'</span>);<span class="hljs-preprocessor">?></span></span></code>
运行结果如下: