PHP7弃用功能
核心:
- PHP4风格的构造函数将被弃用。(和类名同名的方法视为构造方法,这是PHP4的语法。)
- 静态调用非静态方法将被弃用。
OpenSSL
capture_session_meta选项将被弃用,可以调用stream_get_meta_data()获得。
PHP4 风格的构造函数
在 PHP4 中类中的函数可以与类名同名,这一特性在 PHP7 中被废弃,同时会发出一个 E_DEPRECATED 错误。当方法名与类名相同,且类不在命名空间中,同时PHP5的构造函数(__construct)不存在时,会产生一个 E_DEPRECATED 错误。
实例
<?php class A { function A() { print('Style Constructor'); } } ?>
以上程序执行输出结果为:
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; A has a deprecated constructor in...
以静态的方式调用非静态方法
以静态的方式调用非静态方法,不再支持:
实例
<?php class A { function b() { print('Non-static call'); } } A::b(); ?>
以上程序执行输出结果为:
Deprecated: Non-static method A::b() should not be called statically in...Non-static call
password_hash() 随机因子选项
函数原 salt 量不再需要由开发者提供了。函数内部默认带有 salt 能力,无需开发者提供 salt 值。
capture_session_meta SSL 上下文选项
废弃了 "capture_session_meta" SSL 上下文选项。 在流资源上活动的加密相关的元数据可以通过 stream_get_meta_data() 的返回值访问。