php code
public function login(){
$response = [];
$fields = ['login' => '','id'=>0];
$login = getJsonData($response, $fields, 'login');
if (is_null($login))
return $response;
$user_id = $fields['id'];
$user = User::getInstance();
if ($user_id <= 0) {
$check_fields = ['phone_num', 'login_type'];
if (!checkHaveJson($response, $login, $check_fields))
return $response;
$login_type = (int)$login['login_type'];
if (!checkType($response, 1, 2, $login_type, 'login_type'))
return $response;
if ($login_type == 1) {
if (!checkHaveJson($response, $login, ['verify_code']))
return $response;
array_remove($login,'password');
} elseif ($login_type == 2) {
if (!checkHaveJson($response, $login, ['password']))
return $response;
}
if (!$this->checkUserField($response, $login, 2))
return $response;
$phone_num = $login['phone_num'];
$user_info = ['user_id'];
if ($login_type == 1) {
$verify_code = $login['verify_code'];
$ret = VerifyCode::checkVerifyCode($verify_code, $phone_num, 2);
if ($ret != 0)
return getRsp($ret);
$user_info = $user->checkUserLogin($user_info, 'phone_num', $phone_num);
VerifyCode::delVerify($phone_num);
} elseif ($login_type == 2) {
$password = $login['password'];
if (checkPassword($response, $password) != 0)
return $response;
array_push($user_info, 'password');
$user_info = $user->checkUserLogin($user_info, 'phone_num', $phone_num, $password);
}
$error_code = $user_info['error_code'];
if ($error_code != 0)
return getRsp($error_code);
$user_id = $user_info['user_id'];
}
$user_info = $user->modifyUserLogin($user_id);
if (count($user_info) <= 0)
return getRsp(1001);
$json_data['user_info'] = $user_info;
return getRsp(200,$json_data,1);
}
java code
/**
* 加密
*
* @param data
* @return
*/
public static String encode(byte[] data)
{
StringBuffer sb = new StringBuffer();
int len = data.length;
int i = 0;
int b1, b2, b3;
while (i < len)
{
b1 = data[i++] & 0xff;
if (i == len)
{
sb.append(base64EncodeChars[b1 >>> 2]);
sb.append(base64EncodeChars[(b1 & 0x3) << 4]);
sb.append("==");
break;
}
b2 = data[i++] & 0xff;
if (i == len)
{
sb.append(base64EncodeChars[b1 >>> 2]);
sb.append(base64EncodeChars[((b1 & 0x03) << 4) | ((b2 & 0xf0) >>> 4)]);
sb.append(base64EncodeChars[(b2 & 0x0f) << 2]);
sb.append("=");
break;
}
b3 = data[i++] & 0xff;
sb.append(base64EncodeChars[b1 >>> 2]);
sb.append(base64EncodeChars[((b1 & 0x03) << 4) | ((b2 & 0xf0) >>> 4)]);
sb.append(base64EncodeChars[((b2 & 0x0f) << 2) | ((b3 & 0xc0) >>> 6)]);
sb.append(base64EncodeChars[b3 & 0x3f]);
}
return sb.toString();
}
比较:
php是弱类型语言、脚本语言;
java是强类型语言;
上面php code乍一看,你根本不知道它最后会返回什么;
上面java code,你会很明确知道这个函数会返回什么,只需知道它返回什么对象;
差以毫厘,缪以千里,编码体验上就相差甚远了;
其实最主要的体验是"有无类型的体验"上,对于长时间习惯Java开发后,转PHP,这种CODE惯性上的影响各变化,在体验上还是蛮明显的