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 相关文章推荐
PHP5 安装方法
Jan 15 PHP
PHP URL地址获取函数代码(端口等) 推荐
May 15 PHP
PHP Stream_*系列函数
Aug 01 PHP
浅析php header 跳转
Jun 17 PHP
关于PHP自动判断字符集并转码的详解
Jun 26 PHP
PHP中使用socket方式GET、POST数据实例
Apr 02 PHP
php实现短信发送代码
Jul 05 PHP
ZF框架实现发送邮件的方法
Dec 03 PHP
Smarty保留变量用法分析
May 23 PHP
PHP获取页面执行时间的方法(推荐)
Dec 10 PHP
php中照片旋转 (orientation) 问题的正确处理
Feb 16 PHP
PHP实现使用DOM将XML数据存入数组的方法示例
Sep 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
FCKeditor的安装(PHP)
2007/01/13 PHP
用来解析.htpasswd文件的PHP类
2012/09/05 PHP
PHP随机生成随机个数的字母组合示例
2014/01/14 PHP
php中Session的生成机制、回收机制和存储机制探究
2014/08/19 PHP
PHP魔术方法之__call与__callStatic使用方法
2017/07/23 PHP
Laravel框架控制器的request与response用法示例
2019/09/30 PHP
初学JavaScript_03(ExtJs Grid的简单使用)
2008/10/02 Javascript
基于jquery的文本框与autocomplete结合使用(asp.net+json)
2012/05/30 Javascript
javascript自适应宽度的瀑布流实现思路
2013/02/20 Javascript
JavaScript的各种常见函数定义方法
2014/09/16 Javascript
jQuery插件Elastislide实现响应式的焦点图无缝滚动切换特效
2015/04/12 Javascript
JS实现的仿淘宝交易倒计时效果
2015/11/27 Javascript
JavaScript 七大技巧(一)
2015/12/13 Javascript
AngularJS 单元测试(二)详解
2016/09/21 Javascript
浅析Javascript的自动分号插入(ASI)机制
2016/09/29 Javascript
JS HTML图片显示Canvas 压缩功能
2017/07/21 Javascript
JS实现点击拉拽轮播图pc端移动端适配
2018/09/05 Javascript
详解Axios 如何取消已发送的请求
2018/10/20 Javascript
Vue + Element UI图片上传控件使用详解
2019/08/20 Javascript
vue实现随机验证码功能(完整代码)
2019/12/10 Javascript
JavaScript cookie原理及使用实例
2020/05/08 Javascript
[51:07]VGJ.S vs Pain 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
Python实现破解12306图片验证码的方法分析
2017/12/29 Python
python清除函数占用的内存方法
2018/06/25 Python
Flask框架URL管理操作示例【基于@app.route】
2018/07/23 Python
python配置grpc环境
2019/01/01 Python
python自动化之Ansible的安装教程
2019/06/13 Python
详细整理python 字符串(str)与列表(list)以及数组(array)之间的转换方法
2019/08/30 Python
使用Python测试Ping主机IP和某端口是否开放的实例
2019/12/17 Python
使用TensorFlow-Slim进行图像分类的实现
2019/12/31 Python
Python使用QQ邮箱发送邮件实例与QQ邮箱设置详解
2020/02/18 Python
Currentbody美国/加拿大:美容仪专家
2020/03/09 全球购物
俄罗斯外国汽车和国产汽车配件网上商店:Движком
2020/04/19 全球购物
雨雪天气温馨提示
2015/07/15 职场文书
python中pandas对多列进行分组统计的实现
2021/06/18 Python
php去除数组中为0的元素的实例分析
2021/11/17 PHP