我是网络开发的初学者。我知道index.php
文件提供了网站的基础。通过一些模板设计,我们可以重新使用网站的许多页面的页眉和页脚。对于内容,假设我有以下内容:
<?php include 'content.php';?>
但是,每个页面都包含唯一的内容。因此,这让我觉得对于我拥有的每一个页面,我都需要创建一个单独的PHP文件。例如,对于第一页,我创建了一个content_one.php
文件,对于第二页,我创建了一个content_two.php
等。我的假设是否正确?提前谢谢。
答案 0 :(得分:1)
最简单的方法是将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目录中的新脚本中并更新菜单代码一样简单。
使用重写规则,您可以轻松获得类似www.test.com/page/blog
这是一种处理路由的简单有效方法。
答案 1 :(得分:0)
是的,这几乎是那些从主要HTML背景来到PHP的标准模式。通常,他们会从多页HTML网站开始,每个网页都有自己的HTML文件。随着网站的增长,他们会意识到存在大量重复的标记(页眉,页脚等),并且保持一致性变得乏味。解决方案是使用.php
扩展名重命名其页面,以便在将文件提供给客户端之前对其进行处理,然后删除重复的标记并将其放在包含文件中。然后,所有文件都会更新,以使用include
或require
从文件中提取内容。
我不会说这种做法是错误的。这正是我多年前来到PHP的原因!但从长远来看,它并不是最好的。意识到它是一块垫脚石,当你了解更多时,你会意识到正确的架构/设计是什么样的。
我不知道你的编程经历的真实水平。当您感到舒服时,您需要查看一些网络框架,例如Slim和Laravel。在这些框架中,index.php
文件充当中心入口点。所有请求都通过索引,然后根据请求的路径分派到不同的类/方法/函数。这是从开发的角度来看,您的网站开始类似于Web应用程序而不是网站。
祝你好运!