PHP5.3新特性小结


Posted in PHP onFebruary 14, 2016

本文总结分析了PHP5.3新特性。分享给大家供大家参考,具体如下:

1、命名空间 解决了类,函数和常量名冲突的问题

2、静态绑定 继承时父类可以直接调用子类重写父类的方法

class A {
  public static function who() {
    echo __CLASS__;
  }
  public static function test() {
    static::who(); // 后期静态绑定从这里开始
  }
}
class B extends A {
  public static function who() {
    echo __CLASS__;
  }
}
B::test();

3、匿名函数,也叫闭包函数(closures),允许 临时创建一个没有指定名称的函数。最经常用作回调函数

//匿名函数做回调函数
uasort($arr ,function($a, $b){
})

闭包函数也可以作为变量的值来使用

$fn = function ($a) {
  echo $a;
};
$fn(1);

PHP会自动把表达式转换成内置类Closure的 对象实例

$fn = function ($a) {
  echo $a;
};
ee($fn);
/**
 * Closure Object
(
  [parameter] => Array
    (
      [$a] => 
    )
)
*/

匿名函数目前是通过Closure类来实现的。目前还不稳定,不适用于正式开发

3、?: 操作符

$a = 0; 
$b = 2;
ee($a ?: $b); # 2 类似js中的 ||

4、新增常量 __DIR_

5、新的垃圾回收机制,解决了循环引用的问题

gc_enable(); // 激活循环引用收集器,默认开启
var_dump(gc_collect_cycles()); // 强制回收已无效的变量
gc_disable(); // 禁用GC

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
抓取YAHOO股票报价的类
May 15 PHP
关于PHP堆栈与列队的学习
Jun 21 PHP
php采用file_get_contents代替使用curl实例
Nov 07 PHP
php准确获取文件MIME类型的方法
Jun 17 PHP
php简单生成随机数的方法
Jul 30 PHP
Yii rules常用规则示例
Mar 15 PHP
Zend Framework教程之Zend_Helpers动作助手ViewRenderer用法详解
Jul 20 PHP
PHP中explode函数和split函数的区别小结
Aug 24 PHP
PHP使用GD库输出汉字的方法【测试可用】
Nov 10 PHP
magento后台无法登录解决办法的两种方法
Dec 09 PHP
Yii2学习笔记之汉化yii设置表单的描述(属性标签attributeLabels)
Feb 07 PHP
ThinkPHP 3.2.2实现事务操作的方法
May 05 PHP
PHP解压tar.gz格式文件的方法
Feb 14 #PHP
最新版本PHP 7 vs HHVM 多角度比较
Feb 14 #PHP
PHP使用socket发送HTTP请求的方法
Feb 14 #PHP
PHP闭包函数详解
Feb 13 #PHP
php设计模式之委托模式
Feb 13 #PHP
PHP常用设计模式之委托设计模式
Feb 13 #PHP
php判断邮箱地址是否存在的方法
Feb 13 #PHP
You might like
Yii2中cookie用法示例分析
2016/07/18 PHP
PHP进程通信基础之信号量与共享内存通信
2017/02/19 PHP
PHP自定义函数实现数组比较功能示例
2017/10/19 PHP
js 字符串操作函数
2009/07/25 Javascript
表头固定(利用jquery实现原理介绍)
2012/11/08 Javascript
jQuery调用RESTful WCF示例代码(GET方法/POST方法)
2014/01/26 Javascript
Chrome下ifame父窗口调用子窗口的问题示例探讨
2014/03/17 Javascript
jQuery中prependTo()方法用法实例
2015/01/08 Javascript
Jquery表单验证失败后不提交的解决方法
2016/10/18 Javascript
Angular学习笔记之angular的$filter服务浅析
2016/11/12 Javascript
原生js实现商品放大镜效果
2017/01/12 Javascript
javascript 使用正则test( )第一次是 true,第二次是false
2017/02/22 Javascript
整理一些最近经常遇到的前端面试题
2017/04/25 Javascript
js如何获取网页所有图片
2017/05/12 Javascript
解决vue字符串换行问题(绝对管用)
2020/08/06 Javascript
uni-app使用countdown插件实现倒计时
2020/11/01 Javascript
利用JS判断元素是否为数组的方法示例
2021/01/08 Javascript
[02:43]DOTA2英雄基础教程 圣堂刺客
2013/12/09 DOTA
[53:52]EG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
import的本质解析
2017/10/30 Python
Django之Mode的外键自关联和引用未定义的Model方法
2018/12/15 Python
python 执行文件时额外参数获取的实例
2018/12/18 Python
Python类的继承、多态及获取对象信息操作详解
2019/02/28 Python
解决Pyinstaller 打包exe文件 取消dos窗口(黑框框)的问题
2019/06/21 Python
Python中面向对象你应该知道的一下知识
2019/07/10 Python
Python中的__init__作用是什么
2020/06/09 Python
Opencv 图片的OCR识别的实战示例
2021/03/02 Python
一款CSS3实现多功能下拉菜单(带分享按)的教程
2014/11/05 HTML / CSS
通过Canvas及File API缩放并上传图片完整示例
2013/08/08 HTML / CSS
英国最大的宝石首饰超市:QP Jewellers
2018/09/23 全球购物
系统管理员的职责包括那些?管理的对象是什么?
2016/09/20 面试题
汽车专业毕业生自荐信
2013/11/03 职场文书
大学校运会广播稿
2014/02/03 职场文书
珍爱生命演讲稿
2014/05/10 职场文书
2015年小学图书室工作总结
2015/05/18 职场文书
旅游投诉信范文
2015/07/02 职场文书