PHP5.6.x的新鲜事,PHP5.6.x新鲜事


PHP5.6.x的新鲜事

期中考回来,刷刷php.net,发现——又更新了。。现在马上来看一下What's New in PHP 5.6.x

【后端开发】PHP5.6.x的新鲜事,PHP5.6.x新鲜事_PHP教程

内部操作符重载(internal-operator-overloading)

内部操作符重载首当其冲,因为它是最好玩也是最奇怪的一个。

在这次GMP 对象(对,没错,就是对象!!)支持操作符重载和转换为标量

有一个例子,是对gmp_*模块重载

重载之前的

【后端开发】PHP5.6.x的新鲜事,PHP5.6.x新鲜事_PHP教程

重载之后的

【后端开发】PHP5.6.x的新鲜事,PHP5.6.x新鲜事_PHP教程

在这个例子中 + 操作符被重载为 gmp_add , * 操作符被重载为 gmp_mull 。以前的基于函数式的代码让很多算法上的细节无法展现出来,改成基于操作符的就很好理解了。

常量标量表达式(Constant scalar expressions)

在常量、属性声明和函数参数默认值声明时,以前版本只允许常量值,PHP5.6开始允许使用包含数字、字符串字面值和常量的标量表达式。这项改进。。喜大普奔啊。

【后端开发】PHP5.6.x的新鲜事,PHP5.6.x新鲜事_PHP教程

在里面除了那只可怜的ONE,其他目测都用上了。

导入函数和常量(use function and use const)

use 操作符开始支持函数和常量的导入啦QwQ

话不多说,上代码

【后端开发】PHP5.6.x的新鲜事,PHP5.6.x新鲜事_PHP教程

这段代码的输出结果是

【后端开发】PHP5.6.x的新鲜事,PHP5.6.x新鲜事_PHP教程

大家看出use function 和 use const 结构的用法了么?

参数解包功能(Argument unpacking via ...)

在调用函数的时候,通过 ... 操作符(省略号一样的操作符老是感觉不习惯。。)可以把数组或者可遍历对象解包到参数列表

【后端开发】PHP5.6.x的新鲜事,PHP5.6.x新鲜事_PHP教程

这个输出就一个6

新的全局变量(New Global variables)

全局变量一直是很重要的东西,最后我们一起看一下新的全局变量吧

LDAP

  • LDAP_ESCAPE_DN
  • LDAP_ESCAPE_FILTER

OpenSSL

  • OPENSSL_DEFAULT_STREAM_CIPHERS
  • STREAM_CRYPTO_METHOD_ANY_CLIENT
  • STREAM_CRYPTO_METHOD_ANY_SERVER
  • STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT
  • STREAM_CRYPTO_METHOD_TLSv1_0_SERVER
  • STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT
  • STREAM_CRYPTO_METHOD_TLSv1_1_SERVER
  • STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT
  • STREAM_CRYPTO_METHOD_TLSv1_2_SERVER

PostgreSQL

  • PGSQL_CONNECT_ASYNC
  • PGSQL_CONNECTION_AUTH_OK
  • PGSQL_CONNECTION_AWAITING_RESPONSE
  • PGSQL_CONNECTION_MADE
  • PGSQL_CONNECTION_SETENV
  • PGSQL_CONNECTION_SSL_STARTUP
  • PGSQL_CONNECTION_STARTED
  • PGSQL_DML_ESCAPE
  • PGSQL_POLLING_ACTIVE
  • PGSQL_POLLING_FAILED
  • PGSQL_POLLING_OK
  • PGSQL_POLLING_READING
  • PGSQL_POLLING_WRITING
  • PGSQL_CONNECTION_MADE

注意

但是由于是新语句,很多IDE会。。。

呵呵,期待更新吧