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开发人员应该接受打破版本之间向下兼容的定律。只要不允许大量的向后兼容,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特性编辑
-
性能提升: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