优化Request类的only和except方法 支持字符串传入

This commit is contained in:
thinkphp
2016-05-17 10:23:40 +08:00
parent 5e22d69e13
commit df96d049b9

View File

@@ -406,15 +406,18 @@ class Request
*/ */
public function only($name) public function only($name)
{ {
$param = $this->param();
if (is_string($name)) { if (is_string($name)) {
return $this->param($name); $name = explode(',', $name);
} else { }
$item = [];
foreach ($name as $key) { foreach ($name as $key) {
$item[$key] = $this->param($name); if (isset($param[$key])) {
$item[$key] = $param[$key];
}
} }
return $item; return $item;
} }
}
/** /**
* 排除指定参数获取 * 排除指定参数获取
@@ -426,16 +429,13 @@ class Request
{ {
$param = $this->param(); $param = $this->param();
if (is_string($name)) { if (is_string($name)) {
if (isset($param[$name])) { $name = explode(',', $name);
unset($param[$name]);
} }
} else {
foreach ($name as $key) { foreach ($name as $key) {
if (isset($param[$key])) { if (isset($param[$key])) {
unset($param[$key]); unset($param[$key]);
} }
} }
}
return $param; return $param;
} }