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 根据IP地址控制访问的代码
Apr 22 PHP
php编程实现获取excel文档内容的代码实例
Jun 28 PHP
浅析php中如何在有限的内存中读取大文件
Jul 02 PHP
ThinkPHP验证码使用简明教程
Mar 05 PHP
ThinkPHP模板引擎之导入资源文件方法详解
Jun 18 PHP
php批量删除操作代码分享
Feb 26 PHP
浅谈php中变量的数据类型判断函数
Mar 04 PHP
PHP 实现字符串翻转(包含中文汉字)的实现代码
Apr 01 PHP
PHP实现的简单路由和类自动加载功能
Mar 13 PHP
Laravel框架生命周期与原理分析
Jun 12 PHP
laravel中的一些简单实用功能
Nov 03 PHP
如何解决PHP获取不到SESSION信息之一般情况
Oct 10 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中文字符串截取函数
2013/11/12 PHP
PHP递归实现层级树状展开
2016/04/01 PHP
joomla实现注册用户添加新字段的方法
2016/05/05 PHP
PHP文字转图片功能原理与实现方法分析
2017/08/31 PHP
thinkPHP5框架实现基于ajax的分页功能示例
2018/06/12 PHP
使用vs code编辑调试php配置的方法
2019/01/29 PHP
Laravel框架表单验证操作实例分析
2019/09/30 PHP
jquery全选/全不选/反选另一种实现方法(配合原生js)
2013/04/07 Javascript
如何使用JS获取IE上传文件路径(IE7,8)
2013/07/08 Javascript
javaScript 页面自动加载事件详解
2014/02/10 Javascript
基于Arcgis for javascript实现百度地图ABCD marker的效果
2015/09/12 Javascript
深入理解MVC中的时间js格式化
2016/05/19 Javascript
基于WebUploader的文件上传js插件
2016/08/19 Javascript
JS动态计算移动端rem的解决方案
2016/10/14 Javascript
JS实现页面打印功能
2017/03/16 Javascript
小程序云开发教程如何使用云函数实现点赞功能
2019/05/18 Javascript
es6数组includes()用法实例分析
2020/04/18 Javascript
浅要分析Python程序与C程序的结合使用
2015/04/07 Python
Python中创建二维数组
2018/10/17 Python
pymysql模块的使用(增删改查)详解
2019/09/09 Python
基于pycharm实现批量修改变量名
2020/06/02 Python
html5实现图片转圈的动画效果——让页面动起来
2017/10/16 HTML / CSS
澳大利亚领先的男装零售连锁店:Lowes
2020/08/07 全球购物
魅力教师事迹材料
2014/01/10 职场文书
检查接待方案
2014/02/27 职场文书
献爱心倡议书
2014/04/14 职场文书
电子商务专业应届生求职信
2014/05/28 职场文书
电子信息工程专业求职信
2014/06/28 职场文书
公司领导班子对照材料
2014/08/18 职场文书
大三学生学年自我鉴定
2014/09/12 职场文书
党的群众路线教育实践活动组织生活会发言材料
2014/10/17 职场文书
1000字打架检讨书
2014/11/03 职场文书
论群众路线学习笔记
2014/11/06 职场文书
优秀共产党员事迹材料
2014/12/18 职场文书
解决Navicat for Mysql连接报错1251的问题(连接失败)
2021/05/27 MySQL
MySQL 如何限制一张表的记录数
2021/09/14 MySQL