PHP5.4.X废弃的函数




 

1. Backward Incompatible Changes  :一些内容将不兼容

1)不再支持安全模式,
2) 移除魔术引用,
3) 移除全局变量php.ini设置,
4) 移除Call-time pass by reference(如call_user_func_array('function', array(&$a) 不支持)
5)break/continue 不接受参数,但保留接受静态参数
6)必须设置时区timezone
7) 注意非数字数组键值 详看:PHP5.4中一个需要注意的变化(Chained string offsets)
8) 数组转字符串提示 E_NOTICE level error
8) 使用超全局变量做函数参数将导致致命错误


 function foo($_GET, $_POST) {}  
//在5.3是没问题的.  
//php5.4出现:Fatal error: Cannot re-assign auto-global variable _GET in /opt/php-5.4.0/test.php on line 4 
 

以下函数已经从PHP中移除:

define_syslog_variables()
import_request_variables()
session_is_registered(), session_register() and session_unregister().
The aliases mysqli_bind_param(), mysqli_bind_result(), mysqli_client_encoding(), mysqli_fetch(), mysqli_param_count(), mysqli_get_metadata(), mysqli_send_long_data(), mysqli::client_encoding() and mysqli_stmt::stmt().

2. New features 新功能
   1)traits特性的功能相当使一个类可以存在两个父类。在php5.4之前,一个类不能继承两个父类。
   2)数组可以类似c/c++写法
   3)Class::{expr}() 这个写法有点迷糊
  4)支持二进制数值,即二进制直接写赋值给变量:

$bin  = 0b1101;
echo $bin;
 //13
而不必使用bin2dec转换成十进制

Short array syntax has been added, e.g. $a = [1, 2, 3, 4]; or $a = ['one' => 1, 'two' => 2, 'three' => 3, 'four' => 4];.
Function array dereferencing has been added, e.g. foo()[0].
Closures now support $this.
<?= 可以直接使用,与 short_open_tag php.ini 选项无关
类成员直接调用:  (new Foo)->bar().
二进制变量:0b001001101.

3 . Deprecated features in PHP 5.4.x 弃用的功能

Deprecated functions:

mcrypt_generic_end()
mysql_list_dbs()
 


PHP 5.3.x 中弃用的功能

PHP 5.3.0 新增了两个错误等级: E_DEPRECATEDE_USER_DEPRECATED. 错误等级 E_DEPRECATED 被用来说明一个函数或者功能已经被弃用. E_USER_DEPRECATED 等级目的在于表明用户代码中的弃用功能, 类似于 E_USER_ERRORE_USER_WARNING 等级.

下面是被弃用的 INI 指令列表. 使用下面任何指令都将导致 E_DEPRECATED 错误.

弃用函数:

弃用的功能:

  • 弃用通过引用分配 new 的返回值.
  • 调用时传递引用被弃用.


300*300
  • 没有相关文章
  • 没有评论
 文章首页关于迷茫时代关于我写意人生
版权所有:迷茫时代 All rights reserved   
执行时间:0.00494 秒