thinkphp 生成静态页面
时间: 2023-10-30 10:04:42 浏览: 147
生成静态页面
ThinkPHP 5 可以通过开启模板引擎的静态缓存来生成静态页面。
在 `config.php` 文件中开启静态缓存:
```php
// 开启静态缓存
'html_cache_on' => true,
// 静态缓存规则
'html_cache_rules' => [
// 针对index控制器的所有操作进行静态缓存
'index' => ['*'],
// 针对article控制器的detail操作进行静态缓存,参数使用{id}占位
'article' => [
'detail' => ['id' => '\d+'],
],
],
```
然后在控制器中使用下面的代码生成静态页面:
```php
// 生成静态页面
if ($this->request->isGet() && isset($_GET['html'])) {
ob_start();
ob_implicit_flush(0);
$this->view->fetch('article/detail', ['id' => 1]);
$content = ob_get_clean();
file_put_contents('./article.html', $content);
}
```
注意:这里的 `article/detail` 是视图文件的路径,`['id' => 1]` 是视图文件中要使用的参数。如果有多个参数,可以使用数组形式传递。
阅读全文