使用PHP从模板动态创建页面

时间:2013-07-04 06:34:49

标签: php

我正在为我正在建设的网站创建博客。主博客页面显然列出了每个博客应该如此。但我希望每个博客在网站上也有自己的个人页面。我希望在创建博客帖子时生成此页面。

我的问题是,创建此页面的最佳方法是什么。如果我使用php文件函数来创建它,我需要为页面填充数百行HTML的$ data变量。我认为这是可行的,如果我能够动态地更改变量以适用于需要在所述页面上发布的新内容。

有更好的方法吗? PHP会为此工作吗?任何建议都会有所帮助。

2 个答案:

答案 0 :(得分:0)

一般来说,我会或多或少地这样做:

<强> 1。创建“博客”SQL数据库表。 创建“id”列(主键)和“blog_date”,“title”,“author”和“html_content”等字段的列。

<强> 2。使用php创建一个'Blog'类。 创建与“博客”表中的SQL字段对应的属性,包括“id”。

第3。创建公共'loadFromDB()'和'saveToDB()'方法 这些方法应该在“属性”中加载和保存“博客”(由id选择)中的行的SQL值。

<强> 4。为“博客”类创建公共“view()”方法 这只是显示日期,标题,作者等的单个博客条目的HTML视图/模板。

<强> 5。在服务器上的文件夹中创建“index.php”博客页面 您想使用此页面显示单个博客条目。 从主博客页面中的链接调用此页面时,请使用博客的SQL ID,例如通过http GET:'http://www.yoursite.com/blogs/blog/index.php?id=30'。在您希望条目出现的index.php里面的php代码中,执行以下操作:

$id_default = 27;  // the blog entry which must appear when there is no query parameter
$id = empty($_GET['id']) ? $id_default : $_GET['id'];
$B = new Blog($id);
$B->loadFromDB();
$html = $B->view();
echo $html;

通过这种方式,您不必为每个博客条目创建HTML页面,也不必将所有条目放在一个页面上。您可以使用通过GET参数动态创建的一个页面。

显然,您可以/必须做的事情更多,例如创建评论显示和表单以及“评论”SQL表等。但这应该会给您一些想法。

答案 1 :(得分:0)

可以动态地为每个博客创建单独的页面。以下是您可以遵循的步骤。

  1. 创建一个主模板。在需要动态内容的位置添加一些特殊标记。
  2. 添加新帖子时,请阅读该主模板中的内容,将实际值替换为适当的特殊标记
  3. 将最终生成的内容写入新文件并将其保存到关联位置。
  4. 您已准备好访问该页面。