laravel的代码:
use IlluminateSupportStr;
/**
* Generate a more truly "random" alpha-numeric string.
* @param int $length
* @return string
*/
public static function random($length = 16)
{
$string = '';
while (($len = strlen($string)) < $length) {
$size = $length - $len;
$bytes = random_bytes($size);
$string .= substr(str_replace(['/', '+', '='], '', base64_encode($bytes)), 0, $size);
}
return $string;
}
这代码为什么要多创建两个变量 $len
和 $size
,假如像我下面这么写不应该更好一点吗
自己的代码:
function random($length = 16)
{
$string = '';
if($length > 0){
$bytes = random_bytes($length);
$string .= substr(str_replace(['/', '+', '='], '', base64_encode($bytes)), 0, $length);
}
return $string;
}
像我这样写不是少创建两个变量 $len
和 $size
和少使用了strlen()
方法。
laravel这样写更好吗?因为刚好用到了random方法,看了一下源代码。
laravel现在使用的人挺多的,像参考学习下laravel的代码的写法风格。应该对自己有些帮助
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…