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 回答