smarty实现PHP静态化
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字段不会自动产生内容的...

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP でデータベースを操作するのは非常に簡単です。この章では、CRUD (作成、読み取り、更新、削除) 操作について理解します。
