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 相关文章推荐
使用sockets:从新闻组中获取文章(一)
Oct 09 PHP
php 攻击方法之谈php+mysql注射语句构造
Oct 30 PHP
php 模拟get_headers函数的代码示例
Apr 27 PHP
php-cli简介(不会Shell语言一样用Shell)
Jun 03 PHP
基于GD2图形库的PHP生成图片缩略图类代码分享
Feb 08 PHP
PHP快速生成各种信息提示框的方法
Feb 03 PHP
php基于jquery的ajax技术传递json数据简单实例
Apr 15 PHP
php中static 静态变量和普通变量的区别
Dec 01 PHP
Yii 使用intervention/image拓展实现图像处理功能
Jun 22 PHP
Laravel自定义 封装便捷返回Json数据格式的引用方法
Sep 29 PHP
phpmyadmin在宝塔面板里进不去的解决方案
Jul 06 PHP
Nginx+php配置文件及原理解析
Dec 09 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设计模式 State (状态模式)
2011/06/26 PHP
php导出excel格式数据问题
2014/03/11 PHP
PHP性能优化大全(php.ini)
2016/05/20 PHP
php并发加锁示例
2016/10/17 PHP
php微信公众号开发之秒杀
2018/10/20 PHP
使用Js让Html中特殊字符不被转义
2013/11/05 Javascript
利用jQuary实现文字浮动提示效果示例代码
2013/12/26 Javascript
JavaScript 学习笔记之操作符
2015/01/14 Javascript
JS控制表单提交的方法
2015/07/09 Javascript
jquery获取复选框checkbox的值实现方法
2016/05/30 Javascript
jQuery延迟执行的实现方法
2016/12/21 Javascript
使用jQuery实现简单的tab框实例
2017/08/22 jQuery
详解Nodejs 通过 fs.createWriteStream 保存文件
2017/10/10 NodeJs
web前端开发中常见的多列布局解决方案整理(一定要看)
2017/10/15 Javascript
对angular4子路由&辅助路由详解
2018/10/09 Javascript
JS学习笔记之闭包小案例分析
2019/05/29 Javascript
微信小程序实现页面监听自定义组件的触发事件
2020/11/01 Javascript
[00:58]2016年国际邀请赛勇士令状宣传片
2016/06/01 DOTA
Python if语句知识点用法总结
2018/06/10 Python
python3 拼接字符串的7种方法
2018/09/12 Python
对pycharm 修改程序运行所需内存详解
2018/12/03 Python
Python实现截取PDF文件中的几页代码实例
2019/03/11 Python
python使用socket 先读取长度,在读取报文内容示例
2019/09/26 Python
俄罗斯领先的移动和数字设备在线商店:Svyaznoy.ru
2020/12/21 全球购物
skyn ICELAND官网:冰岛成分天然护肤品
2020/08/24 全球购物
2014年小班元旦活动方案
2014/02/16 职场文书
社区精神文明建设汇报材料
2014/08/17 职场文书
中小学校园安全广播稿
2014/09/29 职场文书
计算机实训报告总结
2014/11/05 职场文书
2014年司机工作总结
2014/11/21 职场文书
毕业生捐书活动倡议书
2015/04/27 职场文书
放牛班的春天观后感
2015/06/01 职场文书
上学路上观后感
2015/06/16 职场文书
django 认证类配置实现
2021/11/11 Python
分享7个 Python 实战项目练习
2022/03/03 Python
详解Alibaba Java诊断工具Arthas查看Dubbo动态代理类
2022/04/08 Java/Android