0

ページを含めるための関数を作成しようとしています。

実際、最初は、すべてのページをチェックする長いコードを使用していました。

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

現在、600 ページを超える作業を行っていますが、このコードは長すぎるため、単純化したいと考えています。

時々、使用されているようなタイトルの付いたページがあります。たとえば、ホームは 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 {

        }
    }
}

最初の部分が機能しない理由がわかりません。

まず、変数が配列に存在するかどうかを確認します。存在しない場合は、変数に対応するページを含めます。

2 番目の部分の実行方法はまだわかりませんが、今のところ最初の部分は機能しません。

私のubuntoですべてのエラーの表示を有効にしても、メッセージエラーはありません。

メインページindex.phpで関数を呼び出しますgetPage($_GET['p'])

どんな種類の助けも大歓迎です。

4

1 に答える 1

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')
}
于 2012-11-19T10:13:23.460 に答える