本篇內容主要講解“ThinkPHP5中靜態(tài)化怎么設置”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“ThinkPHP5中靜態(tài)化怎么設置”吧!
成都創(chuàng)新互聯公司是少有的網站設計、成都網站設計、營銷型企業(yè)網站、小程序設計、手機APP,開發(fā)、制作、設計、賣鏈接、推廣優(yōu)化一站式服務網絡公司,成立與2013年,堅持透明化,價格低,無套路經營理念。讓網頁驚喜每一位訪客多年來深受用戶好評
一、什么是靜態(tài)化
靜態(tài)化是將網頁動態(tài)生成的內容轉換為靜態(tài)的 HTML 文件,使得用戶訪問時直接訪問到靜態(tài)頁面,提高網站性能的一種手段。當用戶訪問一個動態(tài)頁面時,服務器會經過一些處理,如 PHP 解析、數據庫查詢等等,才能夠將頁面返回給用戶,而靜態(tài)化則是利用緩存機制,在用戶訪問動態(tài)頁面時,將生成的靜態(tài)文件緩存到服務器上,并將用戶請求直接重定向到靜態(tài)文件上,以達到減輕服務器負擔的目的。
二、ThinkPHP 5 中的靜態(tài)化設置
ThinkPHP 5 中默認是沒有靜態(tài)化功能的,但是可以通過以下兩種方式進行設置。
1、使用插件
ThinkPHP 5 提供了一個插件 think-html,可以方便地實現網頁靜態(tài)化,使用時只需要按照以下兩個步驟即可。
(1)在應用目錄的 config.php 文件中進行配置:
return [
'template' => [
//開啟模板布局
'layout_on' => true,
//定義布局入口文件
'layout_name' => 'layout',
//靜態(tài)化后綴
'html_suffix' => 'html',
// 開啟靜態(tài)緩存
'tpl_cache' => true,
//開啟靜態(tài)緩存
'cache_html' => true,
// 模板目錄
'view_path' => '',
],
'html_cache_rules' => [
'*' => [
'{$_SERVER.REQUEST_URI|md5}',
],
],
'html_cache_time' => 60,
'html_cache_suffix' => '.html',
'html_cache_path' => '../runtime/html',
'html_cache_rule' => ['{$_SERVER.REQUEST_URI|md5}'],
];
(2)在需要進行靜態(tài)化的地方進行設置:
//加入靜態(tài)緩存
$this->view->engine->layout(true);
//開啟動態(tài)緩存
$this->view->engine->cache(false);
2、手動設置
手動設置相對復雜,需要手動開發(fā)和寫入代碼,但是可以更加靈活地控制。具體實現步驟如下:
(1)在應用目錄下新建一個 index.html 文件,此文件即為靜態(tài)化文件。
(2)通過 .htaccess 文件進行重寫,將動態(tài)路徑轉化為靜態(tài)路徑。在 .htaccess 文件中可以添加如下代碼:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
(3)在控制器中進行設置,具體代碼如下:
public function index(){
// 檢查緩存
$cache = $this->checkHtmlCache();
if(!empty($cache)){
// 加載靜態(tài)緩存文件
exit($cache);
}
// 獲取動態(tài)數據
$data = $this->getData();
// 生成靜態(tài)文件
$this->createHtmlCache($data);
// 加載靜態(tài)緩存文件
exit(file_get_contents($this->html_cache_file));
}
到此,相信大家對“ThinkPHP5中靜態(tài)化怎么設置”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!
名稱欄目:ThinkPHP5中靜態(tài)化怎么設置
URL標題:http://jinyejixie.com/article24/pphoje.html
成都網站建設公司_創(chuàng)新互聯,為您提供網頁設計公司、網站設計、電子商務、自適應網站、用戶體驗、網站營銷
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯