用PHP呈现模板

用PHP呈现模板,php,mysql,rendering,Php,Mysql,Rendering,这些天,我在一个新的网站上工作,我从头开始编写后端,没有使用任何PHP框架 我担心的是针对MySQL的不合理的定期查询(“它是什么意思!:)) 在第一个页面上,用户只会看到更新的帖子,所以我想当页面管理员插入一篇帖子时,我会呈现一个带有更新的最新帖子的.html文件,用户的帖子会被重定向到那里,所有帖子都在那里,一切都很好(没有php执行,没有针对大型数据库的MySQL查询)。 到目前为止,Index.php已经被执行,在MySQL上做了一个选择并显示了数据,现在我想执行Index.php获取它

这些天,我在一个新的网站上工作,我从头开始编写后端,没有使用任何PHP框架

我担心的是针对MySQL的不合理的定期查询(“它是什么意思!:))

在第一个页面上,用户只会看到更新的帖子,所以我想当页面管理员插入一篇帖子时,我会呈现一个带有更新的最新帖子的.html文件,用户的帖子会被重定向到那里,所有帖子都在那里,一切都很好(没有php执行,没有针对大型数据库的MySQL查询)。 到目前为止,Index.php已经被执行,在MySQL上做了一个选择并显示了数据,现在我想执行Index.php获取它的内容并将其保存为Index.html


有没有一种方法可以调用.PHP文件,在本地执行并将输出保存到HTML文件中,就像用户将执行的一样。

最简单的方法是使用PHP的输出缓冲并将输出缓冲存储在文件中

ob_start();
// process page here
$buffer = ob_get_flush(); // this will display the contents of the output buffer and return the contents into $buffer
file_put_contents('index.html', $buffer);

最简单的方法是使用PHP的输出缓冲并将输出缓冲存储在文件中

ob_start();
// process page here
$buffer = ob_get_flush(); // this will display the contents of the output buffer and return the contents into $buffer
file_put_contents('index.html', $buffer);
只是一个简短的提示:

php文件从数据库获取数据,并通过输出缓冲区将其输出保存到html文件中。您只需检查.html文件是否存在。如果不是>创建它;else>包含/打印内容

简单易懂,您不必一直查询数据库。

只是一个简短的提示:

php文件从数据库获取数据,并通过输出缓冲区将其输出保存到html文件中。您只需检查.html文件是否存在。如果不是>创建它;else>包含/打印内容


它非常简单,您不必一直查询数据库。

我建议您查看位于web应用程序前面并提供缓存层的数据库

因为它位于用户和应用程序之间,所以它与语言/框架无关,因此集成工作量往往较低


(我意识到这并不能从实现细节的角度准确回答您的问题,但我想指出,应用程序内部的缓存并不是减少数据库负载的唯一选择)

我建议您研究位于web应用程序前面并提供缓存层的东西

因为它位于用户和应用程序之间,所以它与语言/框架无关,因此集成工作量往往较低


(我意识到这并不能从实现细节的角度准确回答您的问题,但我想指出,在应用程序内部缓存并不是减少数据库负载的唯一选择)

是的。您可以使用Curl库,使用完整的url调用index.php。(例如)。因此,您将获取executed index.php的输出,而不是它的代码。然后,通过使用file\u put\u contents函数,您可以将输出保存到index.html文件。

是。您可以使用Curl库,使用完整的url调用index.php。(例如)。因此,您将获取executed index.php的输出,而不是它的代码。然后,通过使用file\u put\u contents函数,您可以将输出保存到index.html文件。

需要考虑的一些语句:

  • 要查询的数据库。“针对MySQL的定期查询”没有本质上的错误

  • 在现实世界的网站上,不仅会有一个动态的部分:横幅、评论数量、新的博客帖子等等

  • Stackoverflow正在使用这种缓存方式。当您试图刷新页面以获取新数据时,结果是非常恼人的,而它什么也不返回

  • 过早优化是万恶之源


  • 需要考虑的一些陈述:

  • 要查询的数据库。“针对MySQL的定期查询”没有本质上的错误

  • 在现实世界的网站上,不仅会有一个动态的部分:横幅、评论数量、新的博客帖子等等

  • Stackoverflow正在使用这种缓存方式。当您试图刷新页面以获取新数据时,结果是非常恼人的,而它什么也不返回

  • 过早优化是万恶之源


  • 因此,如果我理解正确,您需要知道如何缓存脚本的输出?您应该仔细阅读PHP和缓存。是的,这是一个手动缓存。如果我理解正确,您需要知道如何缓存脚本的输出?您应该仔细阅读PHP和缓存。是的,这是一个手动缓存