PHP:如何在部分而非全部页面上包含代码片段


PHP: How to include code snippets on some but not all pages

我是PHP和编程的新手,希望有人能帮助我。

我正在建立一个网站,每个页面的代码保存在一个单独的文件。

现在我有几个代码片段,我想在不同的页面上使用,但不是所有的。我目前的方法是将它们粘贴到每个使用它们的文件上,这会重复代码,因此被认为不是很好的实践。

另一方面,当我在所有页面上使用片段时,我已经将它们从单个文件中删除,并使用PHP的includerequire将它们存储为单独的包含文件,以便将它们包含在页面上,例如用于页眉,页脚和菜单等。
require_once("includes/header.php");

这工作得很好,我想知道是否有一个类似的方式,我可以包括其他代码片段,以及,但不必将它们每个保存为一个单独的文件

是否有一种方法,例如,我可以使用函数来实现这一点,或者有其他一些常见的做法?

示例(只是为了说明我的意思):

<?php
    // example of what I would like to include on different pages
    echo "<button type="button" class="class1" id="btn1">Button 1</button><br />
        <button type="button" class="class2" id="btn1">Button 2</button><br />
        <button type="button" class="class3" id="btn1">Button 3</button><br />";
?>

要插入的片段可以是任何东西,但通常它们是一些小的PHP/HTML片段,如一组按钮或div或下拉列表等。

将代码片段置于函数内,以便您可以通过每次包含相同的页面在任何其他页面上调用它。假设我们有一个index.php页面,我们有一个test.php,其中包含以下代码(我们想要包含在索引页面上):

    <?php
function hello(){
echo 'Hello World!';
}
hello(); //to print "hello world!" in this particular page
?>

现在,在index.php页面中,我们放入:

<?php
include('test.php');
?>
<h1><?php hello(); ?></h1>

使用一个index.php文件来处理其余的

index . php

<?php
require_once 'header.php';
if(isset($_GET['page']){
    switch($_GET['page']){
        case "123":
         require_once 'snippet1.php';
        break;
        case "1234":
         require_once 'snippet2.php';
        break;
        default:
         require_once 'notfound.php';
    }
}
require_once 'footer.php';