diff --git a/convention.php b/convention.php index d958784b..25fab9ed 100644 --- a/convention.php +++ b/convention.php @@ -83,6 +83,8 @@ return [ 'url_controller_convert' => true, // 是否自动转换URL中的操作名 'url_action_convert' => true, + // 表单请求类型伪装变量 + 'method_var' => '_method', // +---------------------------------------------------------------------- // | 模板引擎设置 diff --git a/library/think/Request.php b/library/think/Request.php index 1bfaaf71..4c5f305d 100644 --- a/library/think/Request.php +++ b/library/think/Request.php @@ -417,7 +417,12 @@ class Request $this->method = $method; return; } elseif (!$this->method) { - $this->method = IS_CLI ? 'GET' : (isset($this->server['REQUEST_METHOD']) ? $this->server['REQUEST_METHOD'] : $_SERVER['REQUEST_METHOD']); + $mask = $this->param(Config::get('method_var')); + if ($mask) { + $this->method = $mask; + } else { + $this->method = IS_CLI ? 'GET' : (isset($this->server['REQUEST_METHOD']) ? $this->server['REQUEST_METHOD'] : $_SERVER['REQUEST_METHOD']); + } } return $this->method; }