Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.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 - Fatal编程技术网

网站每一页的PHP代码

网站每一页的PHP代码,php,Php,我是web开发的初学者。我知道索引.php < /c>文件是网站的基础。通过一些模板设计,我们可以对站点的许多页面重复使用页眉和页脚。对于内容,假设我有以下内容: <?php include 'content.php';?> 但是,每个页面都包含唯一的内容。因此,这让我认为,对于我拥有的每个页面,我都需要创建一个单独的PHP文件。例如,第一页我创建了一个content\u one.php文件,第二页我创建了一个content\u two.php文件,等等。我的假设正确吗?提前感

我是web开发的初学者。我知道<代码>索引.php < /c>文件是网站的基础。通过一些模板设计,我们可以对站点的许多页面重复使用页眉和页脚。对于内容,假设我有以下内容:

<?php include 'content.php';?>


但是,每个页面都包含唯一的内容。因此,这让我认为,对于我拥有的每个页面,我都需要创建一个单独的PHP文件。例如,第一页我创建了一个
content\u one.php
文件,第二页我创建了一个
content\u two.php
文件,等等。我的假设正确吗?提前感谢。

是的,对于那些以HTML为主的背景来到PHP的人来说,这几乎是标准模式。通常,他们会从一个多页面的HTML站点开始,每个页面都有自己的HTML文件。随着网站的发展,他们会意识到有很多重复的标记(页眉、页脚等),保持所有标记的一致性变得单调乏味。解决方案是使用
.php
扩展名重命名页面,以便在将文件提供给客户端之前对其进行处理,然后删除重复标记并将其放置在包含文件中。然后使用
include
require
更新所有文件,以从文件中提取内容

我不会说这种方法是错误的。这正是我这么多年前来到PHP的原因哦!但从长远来看,这并不是最好的。意识到这是一块垫脚石,当你学到更多的东西时,你会意识到正确的架构/设计是什么样子的

我不知道你编程经验的真实水平。当你觉得舒服的时候,你会想看看一些web框架,比如和。在这些框架中,
index.php
文件充当中心入口点。所有请求都经过索引,然后根据请求的路径被分派到不同的类/方法/函数。从开发的角度来看,当您的站点开始类似于web应用程序而不是web站点时


祝你好运

最简单的方法是将index.php作为站点的前端控制器

您可以使用这样的案例陈述来执行此操作:

$page = isset($_GET['page']) ? $_GET['page'] : 'home';

switch ($page) {
   case 'faq' :
        require_once('includes/faq.php');
        exit;
   case 'blog' :
        require_once('includes/blog.php');
        exit;
   case 'home':
   default:
      require_once('includes/home.php');
}
然后,您的菜单只需使用
www.test.com?page=blog
,添加新页面就像将该页面的代码和标记放入includes目录中的新脚本并更新菜单代码一样简单

使用重写规则,您可以轻松地创建url,如
www.test.com/page/blog


这是处理路由的一种简单而有效的方法

对于你所要求的(至少我认为你所要求的)有很多选择和可能的解决方案。根据你提出的理论,你遇到了什么问题?你是如何区分第一页和第二页的?到目前为止,我还没有遇到任何问题。我只是想知道,除了我提出的方法之外,是否还有更好的方法。在开始阶段,我对我的代码有点怀疑,并且担心我的做法远远不是最佳实践。我知道这个问题对于一个对php略知一二的人来说可能是微不足道的,但对于像我这样的初学者来说,我想确定一下。嘿,谢谢你提供的信息性回答!我很欣赏你在最后一段中写的关于web框架的内容。我一定要看一看!现在我想起来了,我相信Wordpress也做了类似的事情;他们的中心入口点确实是index.php,所以他们可能正在使用您提到的框架之一!无论如何,再次感谢你!不客气!Wordpress不使用框架——它本身就是一个怪物:)哇,这太好了!我将尝试测试这个结构,但我已经乐观地认为这将组织我的代码相当多!非常感谢。