1

我只是想看看我构建网站模板的方式是否是最好和最动态的方式。目前我有我的网站播放,但是对于我想要更改内容的区域,我使用以下代码。

<? 
 if (preg_match("/\W/",$page) || !file_exists("../$page.html")) {
  include("../home.html");
 }
 else {
  include("../$page.html");
 }
?>

然后导航通过说类似的话链接到该页面,

<a href="index.php?page=about">About</a>

这是使用 PHP 构建模板的最佳方法还是有更好的方法?感谢您的帮助。

4

2 回答 2

4

没有创建网站模板的最佳或最动态的方法。

你所能做的就是从经验和其他人中学习。

您的代码是在模板之间切换的一种方式。一些直接的改进可能是:

  • 使用 && 代替 || 由于 AND 运算符的短路特性。如果页面不匹配,则无需进行文件检查

  • 使用数组查找表将页面值映射到文件名模板(例如,'home'->'homepage.html' 等),这主要有助于防止将外部输入用于文件路径的严重漏洞。

  • 不要文件检查,因为为什么有一个不存在的模板的链接?

于 2012-05-31T09:02:43.737 回答
1

与其像这样从头开始编写(而且 IMO 也不那么漂亮或动态),不如看看框架是如何做到的。大多数框架都有(好的、漂亮的、动态的、可扩展的,等等)模板机制,无论是纯 PHP 还是使用 3rd 方引擎。

于 2012-05-31T09:10:06.533 回答