• 微信
    咨询
    微信在线咨询 服务时间:9:00-18:00
    纵横数据官方微信 使用微信扫一扫
    马上在线沟通
  • 业务
    咨询

    QQ在线咨询 服务时间:9:00-18:00

    选择下列产品马上在线沟通

    纵横售前-老古
    QQ:519082853 售前电话:18950029581
    纵横售前-江夏
    QQ:576791973 售前电话:19906048602
    纵横售前-小李
    QQ:3494196421 售前电话:19906048601
    纵横售前-小智
    QQ:2732502176 售前电话:17750597339
    纵横售前-燕子
    QQ:609863413 售前电话:17750597993
    纵横值班售后
    QQ:407474592 售后电话:18950029502
    纵横财务
    QQ:568149701 售后电话:18965139141

    售前咨询热线:

    400-188-6560

    业务姚经理:18950029581

  • 关注

    关于纵横数据 更多优惠活动等您来拿!
    纵横数据官方微信 扫一扫关注官方微信
  • 关闭
  • 顶部
  • 您所在的位置 : 首页 > 新闻公告 > PHP 7.4beta1有新的弃用

    PHP 7.4beta1有新的弃用

    以前,PHP允许方形括号和花括号可互换使用,以访问数组元素和字符串偏移。来自PHP内部的PHP RFC的示例,用于说明:

    1

    2

    3

    4

    5

    6

    7

    $array = [1, 2];

    echo $array[1]; // prints 2

    echo $array{1}; // also prints 2

     

    $string = "foo";

    echo $string[0]; // prints "f"

    echo $string{0}; // also prints "f"

    这部分导致了混乱和问题。例如,花括号不能用于将元素写入数组:

    1

    2

    3

    4

    $array[] = 3;

    echo $array[2]; // prints 3

      

    $array{} = 3; // Parse error: syntax error, unexpected '}'

    使用花括号语法也无法创建数组:

    1

    2

    3

    $array = [1, 2]; // works

      

    $array = {1, 2}; // Parse error: syntax error, unexpected '{'

    事实证明,它很难用于列表映射:

    1

    2

    3

    [$one, $two] = $array; // works

      

    {$one, $two} = $array; // Parse error: syntax error, unexpected ','

    因此,当使用已发布的beta版的数组或字符串偏移量时,花括号语法现在标记为已弃用,因此不建议使用。

    PHP 7.4beta 1带来了PHP开发团队上周投票的进一步弃用。其中列出的14种方法在PHP 7.4中已弃用:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    真正的类型

    魔术引用遗产

    array_key_exists()包含对象

    FILTER_SANITIZE_MAGIC_QUOTES过滤器

    反射export()方法

    mb_strrpos(),编码为第三个参数

    implode()参数顺序组合

    从非静态闭包中取消绑定$ this

    hebrevc()函数

    convert_cyr_string()函数

    money_format()函数

    ezmlm_hash()函数

    restore_include_path()函数

    allow_url_include ini指令

    在PHP 7.4beta1中,不再推荐使用所有提到的方法,最后在8.0版中删除。

    PHP 7.4beta1中的BugFix

    除了上面提到的弃用之外,beta版还准备了一些bug修复。根据发行说明,内置网络服务器中存在Segmatation Fault。这个问题应该通过这个beta来解决。

    PHP通过CGI执行时出现了另一个问题。PHP正在寻找一个shebang(#!)。如果第一行中有哈希值,PHP不检查以下是否是感叹号,因此是哈希值和感叹号的组合(#!)。根据错误报告, PHP跳过相应的行并忽略了PHP代码。

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    Test script:

    ---------------

    #<!--?php echo "Hello World\n"; ?-->

    Second line.

      

    Expected result:

    ----------------

    X-Powered-By: PHP/5.3.3-7+squeeze3

    Content-type: text/html

      

    #Hello World

    Second line.

      

    Actual result:

    --------------

    X-Powered-By: PHP/5.3.3-7+squeeze3

    Content-type: text/html

      

    Second line.

    此外,还有一个错误,PHP吞噬了程序的第一个字节,如果它来自进程替换(Bug#78066)。第一个测试版修复了这个错误。有关当前版本的更多信息,请参阅发行说明。

    Beta1之后是beta2

    PHP 7.4计划于11月28日发布。在第一个测试版发布后,PHP 7.4beta2将于2019年8月8日发布。PHP 7.4的时间表可以在PHP wiki中找到。


    最新推荐


    微信公众帐号
    关注我们的微信