当您将标记保存在数据库中时,为了获得您需要的标记:
- 解析配置文件(如果有)并建立连接
- 查询并获取数据
- 附加结果
当您将标记保存在文件中时,您需要做的就是通过require()
语言结构包含该标记
编辑
具体来说- 不。将动态 HTML 内容存储在表格中并不是一个坏主意。这是一种常见的做法。但是,如果您还将标题,导航等静态内容存储在每个页面的表格中,则只会导致数据重复。
我个人会将我从未更改过的部分存储在文件中。倾向于“动态”的部分我会存储在表格中。我会使用 jquery-ajax 通过 TinyMCE 添加/编辑它们。
我如何做到这一点的一个例子:
文件:page_view.php
<?php
class Page_View // <- This isn't MVC
{
private $data = array();
public function render()
{
include('page_template.phtml');
exit();
}
private function getTitle()
{
return $this->data['title'];
}
private function getBody()
{
return $this->data['body'];
}
private function getStaticBlock($file)
{
include($file);
}
public function setBody($body)
{
$this->data['body'] = $body;
}
public function setTitle($title)
{
$this->data['title'] = $title;
}
}
文件:page_template.phtml ?>
<!DOCTYPE html>
<html>
<head>
<title><?php echo $this->getTitle(); ?></title>
<?php $this->getStaticBlock('/templates/blocks/header.phtml'); ?>
<body>
<div id="navigation">
<?php $this->getStaticBlock('/templates/blocks/navigation.phtml'); ?>
</div>
<div id="content"><?php echo $this->getBody(); ?></div>
</body>
</head>
</html>
使用示例:
<?php
// $data is what you got from a table
$page = new Page_View();
$page->setTitle($data['title']);
$page->setBody($data['body']);
$page->render();