首页  >  文章  >  php教程  >  smarty实现PHP静态化

smarty实现PHP静态化

WBOY
WBOY原创
2016-06-06 19:48:53835浏览

smarty中有一个获取模板页内容方法fetch(), 它的声明原形是这样的: ?php function fetch ( $resource_name , $cache_id = null , $compile_id = null , $display = false ) ? 第一个参数为模板名称, 第二个参数为缓存的id, 第三个参数为编译id, 第四个参数为

smarty中有一个获取模板页内容方法fetch(), 它的声明原形是这样的:
<span><font face="新宋体"><span><?php <br /> <br> </span><span>function </span><span>fetch</span><span>(</span><span>$resource_name</span><span>, </span><span>$cache_id </span><span>= </span><span>null</span></font><font face="新宋体"><span>, <br>   </span><span>$compile_id </span><span>= </span><span>null</span><span>, </span><span>$display </span><span>= </span><span>false</span></font><span><font face="新宋体">) <br> <br> </font></span><span><font face="新宋体">?><br> </font></span></span>第一个参数为模板名称, 第二个参数为缓存的id, 第三个参数为编译id, 第四个参数为是否显示模板内容. 生成静态页我们就需要用到这个方法.


<span><font face="新宋体"><span><?php <br />    $smarty </span><span>= new </span><span>Smarty</span></font><span><font face="新宋体">(); <br>   </font></span><font face="新宋体"><span>//其它模板替换语法... <br>    <br>    //下面这句取得页面中所有内容, 注意最后一个参数为false <br>   </span><span>$content </span><span>= </span><span>$smarty</span><span>-></span><span>fetch</span><span>(</span><span>'模板名称.tpl'</span><span>, </span><span>null</span><span>, </span><span>null</span><span>, </span><span>false</span></font><span><font face="新宋体">); <br>    <br>   </font></span><font face="新宋体"><span>//下面将内容写入至一个静态文件 <br>   </span><span>$fp </span><span>= </span><span>fopen</span><span>(</span><span>'news.html'</span><span>, </span><span>'w'</span></font><font face="新宋体"><span>); <br>   </span><span>fwrite</span><span>(</span><span>$fp</span><span>, </span><span>$content</span></font><font face="新宋体"><span>); <br>   </span><span>fclose</span><span>(</span><span>$fp</span></font><span><font face="新宋体">); <br> <br>   </font></span><font face="新宋体"><span>//OK, 到这里这个news.html静态页就生成了, 你可以处理你下一步的工作了 <br> </span><span>?> </span></font></span>

<span><font face="新宋体"><span> <table> <tr> <td valign="top"> <p>关于新闻表的设置问题你只需要: <br> </p> <table> <tr> <td> <p>代码:</p> <p><code><span><br> <span><font face="新宋体"><?php <br /> <br> create table news </font></span><font face="新宋体"><span>( <br>   </span><span>id int unsgined not null primary key auto_increment</span></font><font face="新宋体"><span>, <br>   </span><span>title varchar</span><span>(</span><span>255</span></font><font face="新宋体"><span>), <br>   </span><span>author varchar</span><span>(</span><span>50</span></font><font face="新宋体"><span>), <br>   </span><span>url varchar</span><span>(</span><span>100</span><span>), </span></font><font face="新宋体"><span>/* 这里是生成静态页的地址 */ <br>   </span><span>... </span></font><span><font face="新宋体">/*其它字段*/ <br> </font></span><font face="新宋体"><span>); <br> <br> </span><span>?></span> <br> </font></span><br>



   页面上你将新闻地址提取出来后就OK了..

补充:

这个URL在新闻入库的时候就要生成, 具体的过程是这样的:
1. 页面填写新闻内容, 提交表单
2. 按时间或是你自定义的格式生成URL
3. 拼接SQL语句, 将新闻内容写入数据库, 注意这时也要将URL的值写入
4. 取得模板页面内容, 按URL地址生成静态页

URL字段不会自动产生内容的...

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn