如何使用Switch Case路由URL动态?

时间:2019-04-14 14:45:00

标签: php

我有一些代码:

<?php
switch (REQUESTED_URL) {
    case '/home' :
        require __DIR__ . '/views/Home.php';
        break;
      case '' :
        require __DIR__ . '/views/Home.php';
        break; 
    default:
        header('HTTP/1.1 503 Service Unavailable.', TRUE, 503);
        echo "Internal Server Error (Routes URL Not Found)";
        exit();
        break;
}
?>

如何为动态网址使用大小写切换功能?例如:/ home / $ 1

1 个答案:

答案 0 :(得分:2)

不能。 awk -i inplace 'NR==FNR{re=re sep "(" $0 ")"; sep="|"} NR!=FNR && $0~re{next} 1' regexpsfile rimco rimco2 aval aval2 将指定字符串的相等性与值列表进行比较,就像switchsee documentation for the switch control structure)一样。它不会检查字符串是否与正则表达式匹配,因此无法检查if($string == $excepted_value) {}结构内的动态URL。

相反,要支持动态URL(即带有查询参数),请尝试使用PHP的内置功能,例如,将switch用于URL查询参数,将$_GET用于请求URI,并将正则表达式用于提取该URI的特定部分。