PHP 5.2 与 PHP 5.3+ 的几处差异

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

内容简介:修改一个我之前开发的一个 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+ 的几处差异》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

Clean Architecture

Clean Architecture

Robert C. Martin / Prentice Hall / 2017-9-20 / USD 34.99

Practical Software Architecture Solutions from the Legendary Robert C. Martin (“Uncle Bob”) By applying universal rules of software architecture, you can dramatically improve developer producti......一起来看看 《Clean Architecture》 这本书的介绍吧!

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具