包含页面的功能

时间:2012-11-19 10:05:31

标签: php arrays function include

我正在尝试创建包含页面的功能。

事实上,我开始使用检查所有页面的长代码:

if (isset($_GET]['p']) && $_GET['p']=='something') {include 'something.php'};

现在我处理超过600页,这段代码太长了,我想简化它。

有时候我的页面会被注明,因为它们被使用,例如home将对应于accueil.php等。

所以我做了一个数组,其中列出了所有异常:

像那样:

$paramListepages = array(
    'corbeille' => array(
        'libelle'     => 'corbeille',
        'page'        => 'php/trash.php'
    ),   
    'nouveaumessage' => array(
        'libelle'     => 'nouveaumessage',
        'page'        => 'php/envoyer.php'
    ),   
等等......

在这个数组中,我有大约20页。

现在我尝试创建一个包含页面的函数,所以这里是我的代码:

function getPage($var)
{
    if (isset($var)) {
        $key = array_search($var, $paramListepages);
        if ($key == false()) {
            include('php/'.$var.'.php');    
        } else {

        }
    }
}

我不明白为什么第一部分不起作用。

我首先检查数组中是否存在var,如果不存在,我将包含与var对应的页面。

我仍然不知道如何做第二部分,但现在第一部分不起作用。

我没有留言错误,即使在我的ubunto中我激活了所有错误的显示。

在主页index.php中,我调用了函数getPage($_GET['p'])

非常感谢任何形式的帮助。

1 个答案:

答案 0 :(得分:1)

我建议您直接访问数组中的条目:

function getPage($var) {
    if (empty($var))
        // no page specified => default page
        inlude('index.php')
    elseif (array_key_exists($var,$paramListepages))
        // page found => include it!
        include (sprintf('php/%s.php', $paramListepages[$var]['page']));
    else
        // page not found => default page
        inlude ('index.php')
}