PHP 5.2 与 PHP 5.3+ 的几处差异

栏目: PHP · 发布时间: 7年前

内容简介:修改一个我之前开发的一个 Discuz 插件对于 PHP 5.2 的支持(当时插件开发环境是 PHP 5.6.37),发现以下几处需要注意的地方:花了一下午才弄好,也是填坑填大发了,之前还是有蛮多地方欠考虑(毕竟没有专门做 PHP 这块,缺乏这些细节的了解(真是个好借口))。另外还想吐槽一下:

修改一个我之前开发的一个 Discuz 插件对于 PHP 5.2 的支持(当时插件开发环境是 PHP 5.6.37),发现以下几处需要注意的地方:

  1. PHP 5.2 不支持 $this::$staticVar ,需改为: self::$staticVar
  2. nowdoc 需要 5.3+,需改为 heredoc 或普通的字符串定义;
  3. __DIR__ 需要 5.3+,需改为: dirname(__FILE__)
  4. 声明类变量为 heredoc 需要 5.3+,需改为普通的字符串定义;
  5. PHP5.2 不支持 $a = $a ?: $b; ,需改为: $a = $a ? $a : $b;
  6. 没有 SQLite3 类,可以用一堆 sqlite_opensqlite_query 之类的函数,或 SQLiteDatabase 替代。
  7. error_reporting 时,没有 E_DEPRECATEDE_USER_DEPRECATED
    参考:http://php.net/manual/zh/errorfunc.constants.php

花了一下午才弄好,也是填坑填大发了,之前还是有蛮多地方欠考虑(毕竟没有专门做 PHP 这块,缺乏这些细节的了解(真是个好借口))。

另外还想吐槽一下:

  1. PHP:虽然我依旧觉得 PHP 很优秀,新手友好,但和 Python 比,还是不如,编程体验差很多。
  2. Discuz:应该被淘汰了吧,为什么还有这么多人用,真是的!

以上所述就是小编给大家介绍的《PHP 5.2 与 PHP 5.3+ 的几处差异》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

The Haskell School of Expression

The Haskell School of Expression

Paul Hudak / Cambridge University Press / 2000-01 / USD 95.00

Functional programming is a style of programming that emphasizes the use of functions (in contrast to object-oriented programming, which emphasizes the use of objects). It has become popular in recen......一起来看看 《The Haskell School of Expression》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

SHA 加密
SHA 加密

SHA 加密工具