php7的一些新特性

php7的一些特性

打破一切
  PHP7要打破一切。 PHP开发人员应该接受打破版本之间向下兼容的定律。只要不允许大量的向后兼容,PHP7将是一个高度尊重的语言。
  1、创建一个具体的核心语言 删除所有库方法,并保持在对象集中的核心方法。 您应该能够编写无需任何外部库或扩展PHP7和对基本输入/输出,字符串处理和数学一个很好的完整的语言。库以外的任何应该通过批准扩展。
  2、 一切都当作一个对象 以从Ruby,Smalltalk和(主要)的Java对象,并把它一切当作对象。 整数是对象,字符串是对象,他们每个人都可以操作的方法, 我不相信PHP需要的Ruby和Smalltalk在对象之间传递彼此讯息的观念,而调用对象的方法才是最好的。
  3、一致的命名方法和类 由于PHP的最大的抱怨之一是不断要检查,(needle,haystack) 或(haystack, needle),或some_function(),或function_some(),或someFunction(),一个一致的格式需要制定。
  4、让事情严格尝试传递到一个方法浮动字符串? 这是一个警告。
  5、 一切是Unicode 在PHP6中的所有字符串都是Unicode,这很好,我主张PHP7也应该保持。
  6、中央启动点 创建一个主类或初始化,所有代码执行源于此。
  7、清理C代码我不是一个C的专家,但如果你比较了解Ruby的C代码到PHP的C代码,可以很容易地了解了PHP与Ruby的内部。 我非常熟悉PHP,所以我自己的写扩展更容易。
  8、摆脱eval() eval()是邪恶的。 如果你正在使用它,那么这是一个错的主意:这将打破PHPUnit,抛弃它从现在开始。
  9、支持操作符重载 因为一切都是对象,开发者只需掌握操作对象的方法即可。
  10、允许的方法签名

PHP7特性编辑

PHP 7.0.0 Alpha 1[1]  使用新版的ZendEngine引擎,带来了许多新的特性,以下是不完全列表:

  • 性能提升:PHP7比PHP5.6性能提升了两倍。 Improved performance: PHP 7 is up to twice as fast as PHP 5.6
  • 全面一致的64位支持。 Consistent 64-bit support
  • 以前的许多致命错误,现在改成抛出异常。Many fatal errors are now Exceptions
  • 移除了一些老的不在支持的SAPI(服务器端应用编程端口)和扩展。Removal of old and unsupported SAPIs and extensions
  • 新增了空接合操作符。The null coalescing operator (??)
  • 新增加了结合比较运算符。Combined comparison Operator (<=>)
  • 新增加了函数的返回类型声明。Return Type Declarations
  • 新增加了标量类型声明。Scalar Type Declarations
  • 新增加匿名类。Anonymous Classes

PHP7开发进展编辑

2015年6月11日,PHP官网发布消息,正式公开发布PHP7第一版的alpha版本[1]  。

2015年6月25日,PHP官网发布消息,正式公开发布PHP7第二版的alpha版本[2]  。

2015年7月11日,PHP 7.0.0 Beta 1 发布。[3] 

2015年7月25日,PHP 7.0.0 Beta 2发布。[4] 

2015年08月06日,PHP 7.0.0 Beta 3发布。[5] 

2015年08月20日,PHP 7.0.0 RC 1发布。[5] 

2015年09月03日,PHP 7.0.0 RC 2发布。[5] 

2015年09月17日,PHP 7.0.0 RC 3发布。[5] 

2015年10月01日,PHP 7.0.0 RC 4发布。[5] 

2015年10月15日,PHP 7.0.0 RC 5发布。[5] 

2015年10月29日,PHP 7.0.0 RC 6发布。[5] 

2015年11月12日,PHP 7.0.0 RC 7发布。[5] 

2015年11月26日,PHP 7.0.0 RC 8发布。[5] 

2015年12月03日,PHP 7.0.0 GA发布。[5] 

时间: 2024-10-31 05:08:14

php7的一些新特性的相关文章

PHP7.0,PHP7.1.x新特性

PHP7.1.x 新特性 风.fox 1.可为空(Nullable)类型 类型现在允许为空,当启用这个特性时,传入的参数或者函数返回的结果要么是给定的类型,要么是 null .可以通过在类型前面加上一个问号来使之成为可为空的. function test(?string $name) { var_dump($name); } 以上例程会输出: string(5) "tpunt" NULL Uncaught Error: Too few arguments to function tes

浅谈php7的重大新特性_php技巧

截止到目前为止,PHP官方已经发布了php7的RC5版本,预计在11月份左右会发布第一个正式版本!现在来说php7的重大特性肯定已经是定型了,不会再有什么变动了.后续一些版本的迭代主要也就是修修bug,优化之类的.下面就来说话我们一直期待的php7会有那些主要的变化了... 新特性预览 ZEND引擎升级到Zend Engine 3,也就是所谓的PHP NG 增加抽象语法树,使编译更加科学 64位的INT支持 统一的变量语法 原声的TLS - 对扩展开发有意义 一致性foreach循环的改进 新增

PHP7中我们应该学习会用的新特性

PHP7于2015年11月正式发布,本次更新可谓是PHP的重要里程碑,它将带来显著的性能改进和新特性,并对之前版本的一些特性进行改进.本文小编将和大家一起来了解探讨PHP7中的新特性. 1. 标量类型声明 我们知道PHP是一种弱类型的编程语言,因此没有提供任何方法来指定输入参数和返回值的类型,PHP7突破了这种现状,增加了对标量类型(int,float,string,bool)的声明支持,增加declare(strict_types=1)指令声明是否严格类型校验,我们来看一段代码: (stric

php5.3 PHP5.4 PHP5.5 php5.6 新特性/使用PHP5.5/PHP5.6要注意的

因为用到PHP新版本,一些新特性必须要了解,且有些可以在开发时就使用,如果不使用,那么何必升级PHP版本呢,显得有些得不偿失了! 所以整理了一下 一些特性,有可能不全,待添加 PHP7.0 和PHP7.1.X新特性请看 http://blog.csdn.net/fenglailea/article/details/52717364 1.PHP 5.3中的新特性  1.1 PHP 5.3中的新特性  1.1.1. 支持命名空间 (Namespace) 毫无疑问,命名空间是PHP5.3所带来的最重要

PHP7 新特性详细介绍_php技巧

PHP 的学习新特性 最近做的项目使用了 php7,但感觉有很多新特性没有用起来.就想总结一下,一些可能会用到的新特性.之前使用的环境是 php5.4,所有也会有 php5.5 和 php5.6 的特性总结进来,这里只列出我觉得在项目中可能用到的特性,主要内容来自 php手册的附录. Generators (PHP 5 >= 5.5.0, PHP 7) 通过添加 yield 关键字支持了 generators,Generators 提供了一个更简单的方法实现迭代器,不需要实现 Iterator

【翻译】PHP7——新特性

原文地址: http://php.net/manual/zh/migration70.new-features.php 新特性 标量类型声明 标量类型声明 有两种模式: 强制 (默认) 和 严格模式. 现在可以使用下列类型参数(无论用强制模式还是严格模式): 字符串(string), 整数 (int), 浮点数 (float), 以及布尔值 (bool).它们扩充了PHP5中引入的其他类型:类名,接口,数组和 回调类型 <?php // Coercive mode function sumOfI

PHP7新特性foreach 修改示例介绍

一.foreach()循环对数组内部指针不再起作用,在PHP7之前,当数组通过foreach迭代时,数组指针会移动.现在开始,不再如此,见下面代码.. $array = [0, 1, 2]; foreach ($array as &$val) { var_dump(current($array)); } PHP5运行的结果会打印int(1) int(2) bool(false) PHP7运行的结果会打印三次int(0),也就是说数组的内部指针并没有改变. 之前运行的结果会打印int(1), in

php7.1新特性简单介绍

Allow specifying keys in list() Square bracket syntax for array destructuring assignment 下面这个支持效果,还是不错的 list($a, $b) = array($b, $a); [$a, $b] = [$b, $a];   foreach ($points as ["x" => $x, "y" => $y]) {     var_dump($x, $y); } 这个

PHP 7 的五大新特性

1. 运算符(NULL 合并运算符) 把这个放在第一个说是因为我觉得它很有用.用法: $a = $_GET['a'] ?? 1; 它相当于: <php $a = isset($_GET['a']) ? $_GET['a'] : 1; 我们知道三元运算符是可以这样用的: $a ?: 1 但是这是建立在 $a 已经定义了的前提上.新增的 ?? 运算符可以简化判断. 2. 函数返回值类型声明 官方文档提供的例子(注意 - 的边长参数语法在 PHP 5.6 以上的版本中才有): <php  funct