php 5.5.0,PHP 5.5.0 带来的3大改进功能

throw new Exception('Division by zero.');

}

return 1/$x;

}

try {

echo inverse(5) . "n";

} catch (Exception $e) {

echo 'Caught exception: ',  $e->getMessage(), "n";

} finally {

echo "First finally.n";

}

# 2生成器现在可用

生成器提供一个简单的方法来遍历数据,而无需编写一个类实现迭代器接口。

就像任何其它函数生成器是定义函数的关键字,但不像一个正常的函数,返回一个结果一次,用生成的关键字,生成器可以根据需要发回尽可能多的结果。

以下是一个简单的例子,使用生成器函数来打印出一个正整数序列如下所示。

function xrange($start, $end, $step = 1) {

for ($i = $start; $i <= $end; $i += $step) {

yield $i;

}

}

echo 'Single digit odd numbers: ';

foreach (xrange(1, 9, 2) as $number) {

echo "$number ";

}

echo "n";

这将打印“个位数奇数:1、3、5、7、9”。

一个生成器允许您遍历一组数据,在内存中使用foreach循环而不需要建立一个数组,不用创建数组减少了内存使用量和处理时间。

例如,根据PHP手册,使用 range()函数来生成一个序列,1和1000000之间通过调用range(0,1000000),一个foreach循环将创建一个数组的大小超过100 mb。相比之下,创建这个序列使用生成器函数将不需要消耗超过1 kb。

# 3新密码散列API

使用bcrypt,这个新密码散列API允许您使用一行代码来生成一个特色密码散列。例如:

$hash = password_hash($password, PASSWORD_DEFAULT);

在这里password_hash()使用两个参数,第一个密码作为一个字符串,第二个是常数设置加密算法使用。

密码将自动匹配,可以验证使用下面的代码:

password_verify($password, $hash);

当前默认加密算法是bcrypt,尽管这将改变为新的和更强的算法被添加到PHP。

建议将结果存储在一个数据库列,可以扩大超出60字符。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值