Php 如何更有效地做到这一点

Php 如何更有效地做到这一点,php,Php,目前我正在使用以下代码: <?php /* Clean, Simple, Minimal. */ $pages = array('home', 'login', 'register', 'logout', 'test'); if (isset($_GET['p'])) { $page = $_GET['p']; if (in_array($page, $pages)) { include('pages/' . $page . '.php');

目前我正在使用以下代码:

<?php
/*
Clean, Simple, Minimal.
*/
$pages = array('home', 'login', 'register', 'logout', 'test');
if (isset($_GET['p']))
{
    $page = $_GET['p'];
    if (in_array($page, $pages))
    {
       include('pages/' . $page . '.php');
    }
} 
 else {
    echo 'Hi';
}
?>


我希望这是尽可能安全和有效的,我已经看到了这个多个版本。我不确定如何实现我真正想要的,我希望如此,如果请求的文件.php存在于/pages/中,它将显示它,否则抛出错误。但上次我这么做时,我很容易受到LFI的影响

为什么不使用适当的框架?;)@他们的主人可能是因为大多数框架都不是干净、简单、最小的。,不是开玩笑:)这应该是打开的。@ThiefMaster如果你不知道框架是如何工作的,你不应该使用它们。理解框架面临的问题的最好方法之一是尝试实现它们。另一方面,框架可能效率低下(例如对于小型站点)@ThiefMaster框架的使用取决于程序员是否有框架经验以及项目本身有多大。如果没有太多现有框架的经验,并且项目本身很小,那么添加一个框架可能会导致项目规模(时间方面)的三足鼎立,甚至更糟。即使这样,项目的规模也大大增加了。对于框架方面的经验,Econ必须说明他是否有框架方面的经验。