我为我的网页游戏编写了一个简单的菜单
每个页面都是这样访问的:
http/localhost/index.php?page=PAGENAME
我的include系统现在是这样工作的:
switch($page) {
case "login":
include "login.php";
break;
//Other 110 cases...
case "authors":
include "authors.php";
break;
}
你可以看到它不是动态的,每个页面都必须添加到切换菜单。它工作得很好,但过了一段时间,我的代码变得越来越大。现在这个开关包含近125个箱子,是一个需要维护的PITA。
我的问题是——有没有更好的、安全的、动态的方法来做到这一点?
我知道我可以这样做:
include $page.".php";
但是这很不安全,我不想这么做
如果你不想使用框架来处理你的url,并希望像这样保存url,那么我建议在这种情况下使用以下方法:
$pages = array(
'login',
'authors',
//...
);
if(in_array($page, $pages))
include $page .'.php';
else
include 'not_found.php';
您甚至可以做得更好,生成动态读取目录中的PHP文件的$pages
数组。