PHP53、54、55、56各版本重要更新简述(上)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PHP53、54、55、56各版本重要更新简述(上),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1797字,纯文字阅读大概需要3分钟。
内容图文
![PHP53、54、55、56各版本重要更新简述(上)](/upload/InfoBanner/zyjiaocheng/158/3944814467d24833a6f4b8d703c716a6.jpg)
PHP5.3相对于之前版本,最大区别也就是命名空间和匿名函数了,这在平时开发和各大框架中都用的比较多了,就不再详述了。
PHP5.4的主要更新是数组简写语法格式和traits了。
关于数组简写,说起来也挺简单,只是为数组添加了一个新的声明方法,如下:
// PHP5.4之前
$array = array(
"foo" => "bar",
"bar" => "foo",
);
// 自 PHP 5.4 起
$array = [
"foo" => "bar",
"bar" => "foo",
];
而关于PHP5.4的traits就比较少见了,代码说明:
class Base {
public function sayHello() {
echo 'Hello ';
}
}
trait SayWorld {
public function sayHello() {
parent::sayHello();
echo 'World!';
}
}
class MyHelloWorld extends Base {
use SayWorld;
}
$o = new MyHelloWorld();
$o->sayHello();
说明一下:结果是'Hello World!',从基类继承的方法会被trait中的同名方法覆盖,当前类中的方法覆盖trait中的同名成员;如果trait中定义了属性,则当前类中不能定义同名属性;trait中也可以定义抽象方法和静态成员。可以使用多个trait,它们之间用逗号分隔,如下:
use SayHello1,SayHello2;
如果SayHello1和SayHello2中有同名成员,会产生致命错误,解决方法如下:
use SayHello1,SayHello2 {
SayHello1::sayHello insteadof SayHello2; // 意思是用SayHello1中的sayHello方法代替SayHello2中的同名方法,注:此处的sayHello不一定是静态方法
// ...
// 或
SayHello1::sayHello as sayHello1; // 为其另取一个名字,也可解决
}
PHP5.5中的变化主要是异常处理中添加finally关键字和生成器generator。
关于finally,代码说明:
try {
throw new ErrorException('Some Error Message');
} catch (ErrorException $e) {
echo $e->getMessage()."111 \n";
} catch(Exception $e) {
echo $e->getMessage()."222 \n";
} finally {
echo 'finally';
}
不管产没产生异常,都会输出finally。
关于生成器generator,我看了看手册,不明觉厉。明白了再加上...
今天先到这儿......
以上就介绍了PHP53、54、55、56各版本重要更新简述(上),包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
内容总结
以上是互联网集市为您收集整理的PHP53、54、55、56各版本重要更新简述(上)全部内容,希望文章能够帮你解决PHP53、54、55、56各版本重要更新简述(上)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。