Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP-最佳实践-网站模板_Php_Templates - Fatal编程技术网

PHP-最佳实践-网站模板

PHP-最佳实践-网站模板,php,templates,Php,Templates,我只是想看看我构建网站模板的方式是否是最好、最具活力的方式。目前我有我的网站播放,但是对于我希望内容更改的区域,我使用以下代码 <? if (preg_match("/\W/",$page) || !file_exists("../$page.html")) { include("../home.html"); } else { include("../$page.html"); } ?> 导航然后通过如下方式链接到该页面: <a href="index

我只是想看看我构建网站模板的方式是否是最好、最具活力的方式。目前我有我的网站播放,但是对于我希望内容更改的区域,我使用以下代码

<? 
 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构建模板的最佳方法还是有更好的方法?感谢您的帮助。

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

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

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

  • 使用&&而不是| |,因为和的短路特性 操作人员如果页面不匹配,则无需执行以下操作: 文件检查

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

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


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

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

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

      • 使用&&而不是| |,因为和的短路特性 操作人员如果页面不匹配,则无需执行以下操作: 文件检查

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

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


        • 不要像这样从头开始写(我也不那么漂亮或动态),你最好看看框架是如何做到的。大多数框架都有(好的、漂亮的、动态的、可伸缩的,无论什么)模板机制,无论是纯PHP还是使用第三方引擎。

          与其像这样从头开始写(我也不那么漂亮或动态),不如看看框架是如何做到的。大多数框架都有(好的、漂亮的、动态的、可伸缩的,无论什么)模板机制,无论是纯PHP还是使用第三方引擎。

          这不是模板。此外,建立网站的方法很多,这只是其中之一。这个问题只会引起争论。在较小的论坛上,像这样的问题会引起争论,但我们这里的大多数人都知道,没有“最佳”的方式来做任何事情。只有不同的方式或完全错误的方式。然而,这个问题没有一个“正确”的答案,所以我把它标记为没有建设性。我希望这不会阻止你问关于堆栈溢出的问题。这不是模板。此外,建立网站的方法很多,这只是其中之一。这个问题只会引起争论。在较小的论坛上,像这样的问题会引起争论,但我们这里的大多数人都知道,没有“最佳”的方式来做任何事情。只有不同的方式或完全错误的方式。然而,这个问题没有一个“正确”的答案,所以我把它标记为没有建设性。我希望这不会阻止您询问有关堆栈溢出的问题。