1

私は現在、.htaccessを使用してindex.phpを介してすべてを強制することにより、自分のサイトを整理しています。$REQUEST_URI次に、を使用して関連するテンプレートを表示するロジックを含めます(コードを参照)。私の問題は、リクエスト配列の値が毎回設定されていることを確認する必要があるのが面倒だということです。if (isset($request[1])&&$request[1]=="projects"){...

私がただ書くことができる方法はありますかif ($request[1]=="projects"){...

上記の行は、$request[1]設定されていない場合、つまりホームページでエラーをスローします。

これが私の完全なコードです。mydomain.com/projects/houseに個々のプロジェクトが表示され、mydomain.com/projectsにプロジェクトのリストが表示されます。

$request = explode("/", $_SERVER['REQUEST_URI']);

if (isset($request[1])&&$request[1]=="projects"){

    require("./controller/projects.php");

    if (isset($request[2])){
        include("./view/project.html");
    } else {
        include("./view/project-list.html");
}
4

2 に答える 2

1

関数を作ろう!

function current_controller() {
    if(isset($request[1])
        return $request[1];
}

if(current_controller() === "projects") { ... }

またはあなたはすることができます

function is_current_controller($controller) {
    if(isset($request[1])&&$request[1] === $controller)
        return true;
    return false;
}

if(is_current_controller("projects") { ... }
于 2013-01-28T12:46:42.757 に答える
0

else / elseifメソッドを使用として捨ててみませんswtich()か?

このような

$request = explode("/", $_SERVER['REQUEST_URI']);
$check = $request[];

switch($check) {
 case "1";
   include (folder/file1.php);
   break;
 case "2";
   include (folder/file2.php);
   break;     
 case "3";
   include (folder/file3.php);
   break;

}

于 2013-01-28T12:54:37.213 に答える