[英]Generating dynamic HTML pages with PHP
我已经在这个话题上停留了一段时间。 作为一个帮助我学习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方法来获取注释。 以前,博客文章是静态内容,现在启用了评论,但是页面变成了动态。
我看了这个问题 ,但坦率地说,答案含糊不清,没有多大意义。 我要问的主要问题是,PHP通常如何动态生成页面? 例如,在A List Apart上获取此博客文章: http : //alistapart.com/article/tweaking-the-moral-ui 。 它有一个用于张贴的物理页面,即tweaking-the-moral-ui
,但仍具有动态功能,如评论,广告等。这是如何完成的?
这里是链接到这整个项目在GitHub上,如果你有兴趣了解它是如何工作的深入开展。
我认为这是一个开始的错误。
您正在将页面写到文件以具有一个不错的url,而不是使用rewriteurl逻辑。
如果要使它们“动态”,则可以在用户每次添加评论时重新生成文件。
或遵循另一个问题的答案:
http://stackoverflow.com/questions/16388959/url-rewriting-with-php
因此,基本上,您可以向博客平台添加评论,并且每个请求都会像平台一样重新生成页面。 在index.php中,您实现了一些逻辑以从url研究所需的帖子。
这些页面将可见,因为在某些列表中已链接。 在清单中而不是:
http://myblog.com/mypost.php?id=33
您将拥有
http://myblog.com/i love my dog/
然后在index.php中,您将进行分析
$_SERVER['REQUEST_URI']
并向用户或搜索引擎的网络爬虫提供正确的帖子
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.