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中file_exists与is_file,is_dir的区别介绍
Sep 12 PHP
php实现文件下载简单示例(代码实现文件下载)
Mar 10 PHP
php的webservice的wsdl的XML无法显示问题的解决方法
Mar 11 PHP
CodeIgniter安全相关设置汇总
Jul 03 PHP
Chrome Web App开发小结
Sep 04 PHP
PHP贪婪算法解决0-1背包问题实例分析
Mar 23 PHP
PHP在线书签系统分享
Jan 04 PHP
php实现xml与json之间的相互转换功能实例
Jul 07 PHP
PHP弱类型的安全问题详细总结
Sep 25 PHP
PHP GD库相关图像生成和处理函数小结
Sep 30 PHP
php注册系统和使用Xajax即时验证用户名是否被占用
Aug 31 PHP
THINKPHP5分页数据对象处理过程解析
Oct 28 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生成xml简单实例代码
2009/12/16 PHP
php无限级分类实现评论及回复功能
2019/02/18 PHP
对textarea框的代码调试,而且功能上使用非常方便,酷
2006/06/30 Javascript
jQuery学习笔记[1] jQuery中的DOM操作
2010/12/03 Javascript
javascript学习笔记(十一) 正则表达式介绍
2012/06/20 Javascript
javascript中match函数的用法小结
2014/02/08 Javascript
js 绑定键盘鼠标事件示例代码
2014/02/12 Javascript
浅析jquery如何判断滚动条滚到页面底部并执行事件
2016/04/29 Javascript
JS hashMap实例详解
2016/05/26 Javascript
BootStrap按钮标签及基本样式
2016/11/23 Javascript
angular2倒计时组件使用详解
2017/01/12 Javascript
Vue报错:Uncaught TypeError: Cannot assign to read only property’exports‘ of object’#‘的解决方法
2017/06/17 Javascript
React组件生命周期详解
2017/07/03 Javascript
JS跳转手机站url的若干注意事项
2017/10/18 Javascript
开发用到的js封装方法(20种)
2018/10/12 Javascript
zepto.js 实时监听输入框的方法
2018/12/04 Javascript
Vue代码整洁之去重方法整理
2019/08/06 Javascript
微信小程序定义和调用全局变量globalData的实现
2019/11/01 Javascript
vue渲染方式render和template的区别
2020/06/05 Javascript
python内存管理分析
2015/04/08 Python
Python Django使用forms来实现评论功能
2016/08/17 Python
Python标准库之collections包的使用教程
2017/04/27 Python
python实现上传下载文件功能
2020/11/19 Python
Python基于动态规划算法解决01背包问题实例
2017/12/06 Python
Python实现处理逆波兰表达式示例
2018/07/30 Python
深入理解Python中的 __new__ 和 __init__及区别介绍
2018/09/17 Python
美国独家设计师眼镜在线光学商店:Glasses Gallery
2017/12/28 全球购物
英国女士和男士时尚服装网上购物:Top Labels Online
2018/03/25 全球购物
如果让你测试一台高速激光打印机,你都会进行哪些测试
2012/12/04 面试题
精细化工应届生求职信
2013/11/17 职场文书
2014领导班子正风肃纪思想汇报
2014/09/18 职场文书
2014年防汛工作总结
2014/12/08 职场文书
英文辞职信范文
2015/05/13 职场文书
2016公司新年问候语
2015/11/11 职场文书
2019送给家人们的中秋节祝福语
2019/08/15 职场文书
python爬虫--selenium模块
2021/03/31 Python