使用PHP生成动态HTML页面

时间:2014-12-22 09:25:28

标签: php html mysql dynamic

我一直坚持这个话题。作为一个帮助我学习MySQL,PHP和数据库安全性的项目,我创建了一个轻量级的博客系统。它炸毁了我和我的一些程序员伙伴想要使用它,现在我正在努力改进它的功能。

它的工作方式,简单地说,就是上传博客文章,标题,作者姓名和日期都存储在数据库中,但实际内容用于动态生成一个html页面,这是实际的博客文章被查看。在数据库中,保存每篇博文的路径,以便可以使用它来访问和查看博客帖子页面。我的博客系统的一个功能是生成的HTML是完全可自定义的,因此您不受特定模板的限制。我目前正在这样做的方法是使用一个接受值参数的函数,然后返回一个所需格式的HEREDOC,然后将其写入一个名称基于帖子标题的文件。

function get_full_post_html($title, $author, $date_posted, $text) {
    return <<<EOT
    <!DOCTYPE html>
    <html>
    <head>
        <title>$title</title>
    </head>
    <body>
        <h1>$title</h1>
        <h3>$author</h3>
        <h4>$date_posted</h4>
        $text
    </body>
    </html>
EOT;
}

不是最干净的解决方案,这是我寻找更好方法的原因之一。我需要重新考虑这一点的另一个原因是因为我目前正在添加对注释的支持,这意味着现在生成的html页面需要是动态的,我的PHP方法用于获取注释。在博客文章是静态内容之前,现在启用了评论,页面变得动态。

我看了this question,但坦率地说答案含糊不清,没有多大意义。我要问的主要问题是,动态页面通常是如何在PHP中生成的?例如,将此博客帖子放在A List Apart:http://alistapart.com/article/tweaking-the-moral-ui上。它有一个帖子的物理页面tweaking-the-moral-ui,但仍然具有评论,广告等动态功能。这是如何完成的?

Here是GitHub上整个项目的链接,如果您有兴趣深入了解它的工作原理。

1 个答案:

答案 0 :(得分:1)

我认为这里有一个错误。

您正在将页面写入文件以获得一个好的URL,而不是使用重写逻辑。

如果您想让它们“动态”,您可以在每次用户添加评论时重新生成文件。

或者按照另一个问题的答案:

http://stackoverflow.com/questions/16388959/url-rewriting-with-php

所以基本上你会在你的博客平台上添加评论,并且你可以按照许多平台的要求为每个请求重新生成一次页面。在你的index.php中,你实现了一些逻辑来研究你需要的帖子。

由于链接在某些商家信息中,因此页面可见。在列表而不是:

http://myblog.com/mypost.php?id=33

你将

http://myblog.com/i love my dog/

然后在index.php中分析

$_SERVER['REQUEST_URI']

并向用户或搜索引擎的网络抓取工具提供正确的帖子