PHP 各版本特性

php5.2以前

  1. __autoload加载类文件,但只能调用一次这个函数,所以可以用spl_autoload_register加载类

php5.3

  1. 新增了glob://和phar://流包装

  2. 新的全局变量DIR

  3. 默认开启<?= $xxoo;?>,5.4也可用

php5.4

  1. 移除安全模式、魔术引号

  2. register_globals 和 register_long_arrays php.ini 指令被移除。

  3. php.ini新增session.upload_progress.enabled,默认为1,可用来文件包含

    http://php.net/manual/zh/session.configuration.php

    http://php.net/manual/zh/session.upload-progress.php

php5.5

  1. 废除preg_replace的/e模式(不是移除)

    当使用被弃用的 e 修饰符时, 这个函数会转义一些字符(即:'、"、 和 NULL) 然后进行后向引用替换。

    http://php.net/manual/zh/function.preg-replace.php

php5.6

php7.0

  1. 十六进制字符串不再是认为是数字

  2. 移除asp和script php标签

    <% %>
    <%= %>
    <script language="php"></script>
  3. 在后面的版本中assert变成语言结构,这将意味着很多一句话不能使用。

    目前经过测试,可使用的有。

    call_user_func('assert', 'phpinfo();');

php7.1

http://php.net/manual/zh/migration71.new-features.php

  1. 废除mb_ereg_replace()和mb_eregi_replace()的Eval选项

Refference