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 相关文章推荐
PHP中的extract的作用分析
Apr 09 PHP
php fckeditor 调用的函数
Jun 21 PHP
PHP中mb_convert_encoding与iconv函数的深入解析
Jun 21 PHP
php常用hash加密函数
Nov 22 PHP
php中随机函数mt_rand()与rand()性能对比分析
Dec 01 PHP
推荐5款跨平台的PHP编辑器
Dec 25 PHP
php中ob_flush函数和flush函数用法分析
Mar 18 PHP
php计算一个文件大小的方法
Mar 30 PHP
php实现的SSO单点登录系统接入功能示例分析
Oct 12 PHP
PHP将身份证正反面两张照片合成一张图片的代码
Apr 08 PHP
PHP获取日期对应星期、一周日期、星期开始与结束日期的方法
Jun 22 PHP
Yii2框架视图(View)操作及Layout的使用方法分析
May 27 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
PHP中文汉字验证码
2007/04/08 PHP
域名和cookie问题(域名后缀)
2012/10/10 PHP
PHP数组函数知识汇总
2016/05/12 PHP
PHP中的Iterator迭代对象属性详解
2019/04/12 PHP
关于laravel 子查询 & join的使用
2019/10/16 PHP
JS 学习笔记 防止发生命名冲突
2009/07/30 Javascript
javascript 表单验证常见正则
2009/09/28 Javascript
XMLHTTPRequest的属性和方法简介
2010/11/23 Javascript
jQuery的控件及事件(输入控件及回车事件)使用示例
2013/07/25 Javascript
jQuery解析与处理服务器端返回xml格式数据的方法详解
2016/07/04 Javascript
基于angular2 的 http服务封装的实例代码
2017/06/29 Javascript
Javascript实现一朵从含苞到绽放的玫瑰
2019/03/30 Javascript
微信小程序开发之转发分享功能
2019/10/22 Javascript
利用python实现命令行有道词典的方法示例
2017/01/31 Python
Python简单实现的代理服务器端口映射功能示例
2018/04/08 Python
解决pandas 作图无法显示中文的问题
2018/05/24 Python
CentOS 7 安装python3.7.1的方法及注意事项
2018/11/01 Python
使用python将时间转换为指定的格式方法
2018/11/12 Python
解决python Markdown模块乱码的问题
2019/02/14 Python
详解Python_shutil模块
2019/03/15 Python
Python实现的排列组合、破解密码算法示例
2019/04/12 Python
Form表单及django的form表单的补充
2019/07/25 Python
python tkinter库实现气泡屏保和锁屏
2019/07/29 Python
用Python抢火车票的简单小程序实现解析
2019/08/14 Python
python不使用for计算两组、多个矩形两两间的iou方式
2020/01/18 Python
Django实现文章详情页面跳转代码实例
2020/09/16 Python
周年庆典邀请函范文
2014/01/23 职场文书
入党综合考察材料
2014/06/02 职场文书
安全责任书范文
2014/08/25 职场文书
单位工作证明
2014/10/07 职场文书
成本低的5个创业项目:投资小、赚钱快
2019/08/20 职场文书
看看如何用Python绘制小米新版天价logo
2021/04/20 Python
GTX1650super好不好 gtx1650super显卡属于什么级别
2022/04/08 数码科技
Nginx配置根据url参数重定向
2022/04/11 Servers
鲲鹏 CentOS 7 安装Python3.7
2022/05/11 Servers
Java数据结构之堆(优先队列)
2022/05/20 Java/Android