gpt4 book ai didi

php - 有没有更简洁的方法来编写这个避免包含

转载 作者:行者123 更新时间:2023-11-28 04:24:26 25 4
gpt4 key购买 nike

我正在用 php 编写一个项目,它基本上会给我一个网页,其中包含指向以下内容的链接:

  • 包含存储在 mysql 数据库中的我最喜欢的 youtube 视频的页面
  • 包含我最喜欢的所有游戏的页面
  • 和音乐等

所有内容都将直接嵌入到网页中,而不是链接到网站。

为了简化这个,我制作了一个主模板“index.php”,然后使用 $_GET 我将页面和其他信息传递给模板,然后由页面检查脚本处理执行多个 ifs 以确定将哪个 php 脚本加载到网站中。

我的问题在于将这些脚本加载到网站的首选方法是什么,因为我目前的方法是

if ($_GET["page"] == "videos"){
include ("dynapage/scripts/videos/videos.php");
}

if ($_GET["page"] == "music"){
include ("dynapage/scripts/music/music.php");
}

使用 include 将这段代码添加到我的模板中是一件好事还是有更好的方法可以建议?

注意:isset 的检查已包含在检查中,可应要求提供额外的 pbs。

最佳答案

使用一个以 $_GET["page"] 值为键,以 php 文件名为值的数组。然后您只需要检查它是否在数组内,如果是,则包含它。然后将值写入数组,而不是编写许多 if 子句。

下面的代码示例展示了这一点,此外它还有一个加载页面的功能,因为包含的脚本不会在意外包含的上下文中设置变量。

$pages = array(
'videos' => 'videos/videos.php',
'music' => 'music/music.php',
);

/**
* include a page template
*/
function load_page(array $pages, $page, $path = 'dynapage/scripts')
{
if (isset($pages[$page])) return;
include ($path.'/'.$pages[$page]);
}

if (isset($_GET['page']))
{
load_page($pages, $_GET['page']);
}

关于php - 有没有更简洁的方法来编写这个避免包含,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8674135/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com