$value) { $this->_data[$name] = $value; } } /** * 过滤字符串 * * @param string $name * @param string $default * @return string */ public function string($name, $default = null) { $result = null; if (isset($this->_data[$name])) { $result = $this->_data[$name]; $result = trim($result); $result = (string)$result; } elseif (!is_null($default)) { $result = $default; } return $result; } /** * 批量获取字符串 * * @param string $name * @param string $default * @return string */ public function getBatchString($arr, $isString = TRUE) { $result = null; if (is_array($arr)) { foreach ($arr as $v) { if (isset($this->_data[$v])) { $result[$v] = $isString ? (string)trim($this->_data[$v]) : $this->_data[$v]; } } } return $result; } /** * 获取手机区号 * * @param string $name * @param string $default * @return string */ public function mobileCode($name = 'mobile_code', $default = '+86') { $mobileCode = $this->string($name, $default); $mobileCode = '+' . ltrim($mobileCode, '+'); return $mobileCode; } /** * 过滤整型 * * @param string $name * @param int $default * @return int */ public function intval($name, $default = null) { $result = null; if (isset($this->_data[$name])) { $result = $this->_data[$name]; $result = trim($result); $result = intval($result); } elseif (!is_null($default)) { $result = $default; } return $result; } /** * 过滤浮点类型 * * @param string $name * @param float $default * @return float */ public function float($name, $default = null) { $result = null; if (isset($this->_data[$name])) { $result = $this->_data[$name]; $result = trim($result); $result = floatval($result); } elseif (!is_null($default)) { $result = $default; } return $result; } /** * 验证手机号 * * @param string $message * @param int $code * @param string $name * @return int|string * @throws \Exception */ public function mobile($message = '手机号格式错误', $code = 45050, $name = 'mobile') { $result = ''; if (isset($this->_data[$name])) { $result = $this->_data[$name]; $result = trim($result); $result = intval($result); } if (!$result || Validate::isMobile($result) == false) { throw new \PhpLife\Frame\Exception\Validate($message, $code); } return $result; } /** * 获取json数据格式 * * @param * $name * @param * $default * @return array */ public function json($name, $default = null) { $result = null; if (isset($this->_data[$name])) { $result = $this->_data[$name]; $result = trim($result); $decoded = json_decode($result,true); if ($decoded) { $result = $decoded; } else { $result = array(); } } elseif (!is_null($default)) { $result = $default; } return $result; } /** * 检查字段是否存在,可选检查是否为空 * * @param string $name * @param bool $checkEmpty * @param string $message * @param int $code * @throws \Exception * @return bool */ public function exists($name, $checkEmpty = false, $message = '', $code = 0) { if ($checkEmpty) { $result = isset($this->_data[$name]) && (is_string($this->_data[$name]) && strlen($this->_data[$name]) > 0); } else { $result = isset($this->_data[$name]); } if (!$result && $message) { throw new \PhpLife\Frame\Exception\Validate($message, $code); } return $result; } /** * 获取数组数据 * * @param * $name * @param array $default * @return array|mixed */ public function getArray($name, $default = array()) { $result = array(); if (isset($this->_data[$name])) { $result = $this->_data[$name]; } elseif (!is_null($default)) { $result = $default; } return $result; } /** * 参数验证 * @param $data -参数 * @param bool $required -是否必须 * @return array * @throws Exception */ public function params($data, $required = false) { $res = array(); foreach ($data as $name => $rule) { if ($required) { $this->required($name); } $res[$name] = $this->$rule($name); } return $res; } public function required($name) { if($this->_data[$name] || strlen($this->_data[$name]) > 0){ return $this->_data[$name]; }else{ throw new Exception('缺少必填参数:' . $name,400); } } public function compare($name, $value, $echo = 'selected') { if (isset($this->_data[$name]) && $this->_data[$name] !== '' && $this->_data[$name] == $value) { echo $echo; return; } else { echo ''; return; } } public function toArray() { return $this->_data; } }