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