IT行业资讯

当前位置: 首页/新闻•资讯/IT行业资讯/正文

PHP 5.5.0 带来的3大改进功能

发布时间:2013-7-13 来源:小编

PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。
下面简单列举PHP 5.5.0 带给开发者的3点改进功能:
# 1 Finally关键字添加

新增的“finally”关键字,改进了PHP处理异常处理的方法.

像其它高级语言一样,PHP允许您在一个try和catch块包装代码。任何异常,在try块抛出的代码将被传递给在catch块的代码来处理。

finally关键字允许您定义一个代码块,被放置在catch块之后,不管一个异常是否抛出,将总是在try和catch块之后执行。

PHP手册给出的这个例子:

function inverse($x) {

     if (!$x) {


         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字符。

公司简介 - 案例展示 - 联系我们

我们为您提供:软件定制、软件开发、网站建设、IT 外包、系统集成、品牌策划、合肥软件开发等服务
地址:合肥市 高新区 天智路5号 同创科技园5号楼4层   电话:0551-65355812   传真:0551-65355811
版权所有:安徽凯美耐信息技术有限公司    皖ICP备14000533号-1     皖公网安备 34019202000960号