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页面执行时间,数据库读写次数,函数调用次数等(THINKphp)
Jun 03 PHP
用php简单实现加减乘除计算器
Jan 06 PHP
php中mysql操作buffer用法详解
Mar 19 PHP
PHP判断是否为空的几个函数对比
Apr 21 PHP
ThinkPHP实现更新数据实例详解(demo)
Jun 29 PHP
eclipse php wamp配置教程
Jun 30 PHP
php实现产品加入购物车功能(1)
Jul 23 PHP
PHP使用Redis长连接的方法详解
Feb 12 PHP
PHP基于SPL实现的迭代器模式示例
Apr 22 PHP
详解php用static方法的原因
Sep 12 PHP
PHP面向对象程序设计之对象的遍历操作示例
Jun 12 PHP
XAMPP升级PHP版本实现步骤解析
Sep 04 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的FTP学习(一)[转自奥索]
2006/10/09 PHP
PHP mcrypt可逆加密算法分析
2011/07/19 PHP
php调整gif动画图片尺寸示例代码分享
2013/12/05 PHP
PHP+Mysql基于事务处理实现转账功能的方法
2015/07/08 PHP
php封装单文件上传到数据库(路径)
2017/10/15 PHP
关于JS管理作用域的问题
2013/04/10 Javascript
在javascript中对于DOM的加强
2013/04/11 Javascript
jQuery学习笔记之jQuery构建函数的7种方法
2014/06/03 Javascript
分享两个手机访问pc网站自动跳转手机端网站代码
2020/12/24 Javascript
详解AngularJS 模态对话框
2016/04/07 Javascript
jquery 全选、全不选、反选效果的实现代码【推荐】
2016/05/05 Javascript
Javascript之Number对象介绍
2016/06/07 Javascript
select获取下拉框的值 下拉框默认选中方法
2018/02/28 Javascript
vue-cli脚手架config目录下index.js配置文件的方法
2018/03/13 Javascript
webpack4的迁移的使用方法
2018/05/25 Javascript
JS实现监控微信小程序的原理
2018/06/15 Javascript
vue 根据数组中某一项的值进行排序的方法
2018/08/30 Javascript
微信小程序CSS3动画下拉菜单效果
2018/11/04 Javascript
vue中$refs, $emit, $on, $once, $off的使用详解
2019/05/26 Javascript
Vue编程式跳转的实例代码详解
2019/07/10 Javascript
vue element和nuxt的使用技巧分享
2021/01/14 Vue.js
Vue常用API、高级API的相关总结
2021/02/02 Vue.js
Python 异常处理的实例详解
2017/09/11 Python
pandas全表查询定位某个值所在行列的方法
2018/04/12 Python
pandas 对日期类型数据的处理方法详解
2019/08/08 Python
Python通过VGG16模型实现图像风格转换操作详解
2020/01/16 Python
网吧消防安全制度
2014/01/28 职场文书
动员大会主持词
2014/03/20 职场文书
计生专干事迹
2014/05/28 职场文书
关于环保的标语
2014/06/13 职场文书
单位员工收入证明样本
2014/10/09 职场文书
离职员工给领导和同事的感谢信
2015/11/03 职场文书
如何撰写创业策划书
2019/06/27 职场文书
使用Canvas绘制一个游戏人物属性图
2022/03/25 Javascript
Spring Boot配合PageHelper优化大表查询数据分页
2022/04/20 Java/Android
MySQL 计算连续登录天数
2022/05/11 MySQL