PHP7弃用了哪些功能

2020-12-26 09:09 更新

在 PHP 7 中,已经不再支持某些功能,并且这些功能将会被删除。下文介绍了这些在 PHP 7 不再支持的功能:

PHP 7 弃用了 PHP 4 风格的构造函数

PHP 4 风格的构造函数是与它们定义的类名相同的方法,现在已被弃用,将来会被删除。如果 PHP 4 构造函数是类中定义的唯一构造函数,PHP7 将会发出 E_DEPRECATED。实现 __construct()方法的类不受影响。

示例

<?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...

PHP7 弃用了静态调用非静态方法

对非静态方法的静态调用已弃用,将来可能会被删除。

示例

<?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 选项被弃用

password_hash()函数的 salt 选项已被弃用,因此开发人员不会生成自己的(通常不安全的)盐。该功能本身产生一种加密安全的盐,当开发商没有提供盐时,因此不再需要定制的盐生成。

capture_session_meta SSL 上下文选项被弃用

该 capture_session_meta SSL 上下文选项已被弃用。现在,通过 stream_get_meta_data()函数使用 SSL 元数据。

在 PHP7 中移除的函数列表

被移除的函数列表如下: 

  • 已废弃的 mcrypt_generic_end() 函数已被移除,您可以使用 mcrypt_generic_deinit() 代替。 
  • 已废弃的 mcrypt_ecb(), mcrypt_cbc()、 mcrypt_cfb() 和 mcrypt_ofb() 函数已被移除。 
  • set_magic_quotes_runtime() (别名:magic_quotes_runtime() )已被移除;它们在 PHP5.3.0 中已经被废弃,并且在 PHP5.4.0 也由于魔术引号的废弃而失去功能。 
  • 已废弃的 set_socket_blocking() 函数已被移除,您可以使用 stream_set_blocking() 代替。 
  • 在 PHP-FPM 不再使用 dl(),在 CLI 和 embed SAPIs 中仍可用。 
  • GD 库中下列函数被移除:imagepsbbox()、imagepsencodefont()、imagepsextendfont()、imagepsfreefont()、imagepsloadfont()、imagepsslantfont()、imagepstext() 
  • 在配置文件 php.ini 中,always_populate_raw_post_data、asp_tags、xsl.security_prefs 被移除了。

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号