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 相关文章推荐
基于initPHP的框架介绍
Apr 18 PHP
ThinkPHP实现一键清除缓存方法
Jun 26 PHP
ThinkPHP模板输出display用法分析
Nov 26 PHP
在php和MySql中计算时间差的方法详解
Mar 27 PHP
php在apache环境下实现gzip配置方法
Apr 02 PHP
php递归删除指定文件夹的方法小结
Apr 20 PHP
wampserver改变默认网站目录的办法
Aug 05 PHP
PHP验证码生成原理和实现
Jan 24 PHP
php解决和避免form表单重复提交的几种方法
Aug 31 PHP
yii2使用gridView实现下拉列表筛选数据
Apr 10 PHP
Laravel网站打开速度优化的方法汇总
Jul 16 PHP
PHP PDO和消息队列的个人理解与应用实例分析
Nov 25 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中header的用法详解
2013/06/07 PHP
PHP实现补齐关闭的HTML标签
2016/03/22 PHP
thinkphp框架实现数据添加和显示功能
2016/06/29 PHP
利用laravel搭建一个迷你博客实战教程
2017/08/13 PHP
javascript StringBuilder类实现
2008/12/22 Javascript
JavaScript URL参数读取改进版
2009/01/16 Javascript
对采用动态原型方式无法展示继承机制得思考
2009/12/04 Javascript
JavaScript中判断函数是new还是()调用的区别说明
2011/04/07 Javascript
字符串的replace方法应用浅析
2011/12/06 Javascript
扩展Jquery插件处理mouseover时内部有子元素时发生样式闪烁
2011/12/08 Javascript
Iframe 自动适应页面的高度示例代码
2014/02/26 Javascript
js二维数组定义和初始化的三种方法总结
2014/03/03 Javascript
JavaScript实现的encode64加密算法实例分析
2015/04/15 Javascript
基于Jquery插件实现跨域异步上传文件功能
2016/04/26 Javascript
AngularJs实现聊天列表实时刷新功能
2017/06/15 Javascript
Webpack之tree-starking 解析
2018/09/11 Javascript
[01:18:43]2014 DOTA2华西杯精英邀请赛5 24 iG VS DK
2014/05/25 DOTA
Python中使用PyQt把网页转换成PDF操作代码实例
2015/04/23 Python
深入解析Python中的上下文管理器
2016/06/28 Python
Python判断两个list是否是父子集关系的实例
2018/05/04 Python
python画一个玫瑰和一个爱心
2020/08/18 Python
强悍的Python读取大文件的解决方案
2019/02/16 Python
python机器学习库scikit-learn:SVR的基本应用
2019/06/26 Python
Python就将所有的英文单词首字母变成大写
2021/02/12 Python
HTML5单选框、复选框、下拉菜单、文本域的实现代码
2020/12/01 HTML / CSS
Lands’ End英国官方网站:高质量男女服装
2017/10/07 全球购物
美国快时尚彩妆品牌:Winky Lux(透明花瓣润唇膏)
2018/11/06 全球购物
Myprotein中国网站:欧洲畅销运动营养品牌
2021/02/11 全球购物
怎样写留学自荐信
2013/11/11 职场文书
医学专业毕业生个人的求职信
2013/12/04 职场文书
宣传保护环境的公益广告词
2014/03/13 职场文书
党员公开承诺事项
2014/03/25 职场文书
法定代表人身份证明书
2015/06/18 职场文书
2017大学生寒假社会实践心得体会
2016/01/14 职场文书
Redis延迟队列和分布式延迟队列的简答实现
2021/05/13 Redis
python中os.path.join()函数实例用法
2021/05/26 Python