我正在为网站制作一个部分,其中包含来自管理面板的可更改信息,但信息不会发生太大变化,因此该部分不应该是动态的。我打算在信息更改时生成html,但是要将所有html存储在一个带有""
的变量中,它会变得混乱。所以也许有另一种方法可以做到这一点,所以它更易于维护?
答案 0 :(得分:2)
以缓存网站的方式首先点击缓存:
<?php
ob_start();
?>
<html>
...
Build your page dynamically as usual.
...
</html>
<?php
$site = ob_get_contents();
file_put_contents('webroot/site.html', $site);
ob_end_flush();
这将构建一个常规的动态HTML / PHP页面,并将该页面写入webroot中的.html文件,该文件将在下次直接命中。在管理界面中,只需在更新信息时删除此缓存版本即可。仅当.html版本通过.htaccess重写规则不存在时,才会调用上述脚本,例如:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)\.html$ $1.php [QSA,L]
</IfModule>
所以逻辑就像这样:
答案 1 :(得分:0)
我会写一个“正确”的php网站,如果性能有问题,我会使用缓存代理。然后,如果无效缓存是一个问题,我会使用/开发一些工具,当有人在管理员处保存相同内容时,该工具可以使缓存无效。
我强烈建议您使用框架。我通常使用Zend Framework,因为我非常了解它。
您也可以使用symfony或yii。搜索,比较,选择;)