我刚刚写了这篇文章,并且认为必须有一个更容易/更干净的方法来做到这一点,因为这样做看起来很可怕:
if(isset($_GET['m']) && isset($_GET['v'])) {
Router::Get($_GET['m'], $_GET['v']);
} elseif(isset($_GET['m'])) {
Router::Get($_GET['m'], "");
} else {
Router::Get("", "");
}
我正在寻找一种更清洁的方式,例如:
Router::Get(is('m'), is('v'));
有关缩短/清理此类if语句的建议吗?
答案 0 :(得分:7)
可以,
$m = isset($_GET['m']) ? $_GET['m'] : "";
$v = isset($_GET['v']) ? $_GET['v'] : "";
Router::Get($m, $v);
答案 1 :(得分:2)
您可以封装逻辑:
Router::$query = $_GET;
Router::Get('m', Router::Get('v'))
class Router {
static public $query;
static function Get($name, $default = '') {
return isset(self::$query[$name]) ? self::$query[$name] : $default;
}
}