PHP5.6.x的新鲜事
期中考回来,刷刷php.net,发现——又更新了。。现在马上来看一下What's New in PHP 5.6.x
内部操作符重载(internal-operator-overloading)
内部操作符重载首当其冲,因为它是最好玩也是最奇怪的一个。
在这次GMP 对象(对,没错,就是对象!!)支持操作符重载和转换为标量
有一个例子,是对gmp_*模块重载
重载之前的
重载之后的
在这个例子中 + 操作符被重载为 gmp_add , * 操作符被重载为 gmp_mull 。以前的基于函数式的代码让很多算法上的细节无法展现出来,改成基于操作符的就很好理解了。
常量标量表达式(Constant scalar expressions)
在常量、属性声明和函数参数默认值声明时,以前版本只允许常量值,PHP5.6开始允许使用包含数字、字符串字面值和常量的标量表达式。这项改进。。喜大普奔啊。
在里面除了那只可怜的ONE,其他目测都用上了。
导入函数和常量(use function and use const)
use 操作符开始支持函数和常量的导入啦QwQ
话不多说,上代码
这段代码的输出结果是
大家看出use function 和 use const 结构的用法了么?
参数解包功能(Argument unpacking via ...)
在调用函数的时候,通过 ... 操作符(省略号一样的操作符老是感觉不习惯。。)可以把数组或者可遍历对象解包到参数列表
这个输出就一个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