内容简介:修改一个我之前开发的一个 Discuz 插件对于 PHP 5.2 的支持(当时插件开发环境是 PHP 5.6.37),发现以下几处需要注意的地方:花了一下午才弄好,也是填坑填大发了,之前还是有蛮多地方欠考虑(毕竟没有专门做 PHP 这块,缺乏这些细节的了解(真是个好借口))。另外还想吐槽一下:
修改一个我之前开发的一个 Discuz 插件对于 PHP 5.2 的支持(当时插件开发环境是 PHP 5.6.37),发现以下几处需要注意的地方:
-
PHP 5.2 不支持
$this::$staticVar
,需改为:self::$staticVar
; - nowdoc 需要 5.3+,需改为 heredoc 或普通的字符串定义;
-
__DIR__
需要 5.3+,需改为:dirname(__FILE__)
; - 声明类变量为 heredoc 需要 5.3+,需改为普通的字符串定义;
-
PHP5.2 不支持
$a = $a ?: $b;
,需改为:$a = $a ? $a : $b;
; -
没有
SQLite3
类,可以用一堆sqlite_open
,sqlite_query
之类的函数,或SQLiteDatabase
替代。 -
error_reporting
时,没有E_DEPRECATED
、E_USER_DEPRECATED
。
参考:http://php.net/manual/zh/errorfunc.constants.php
花了一下午才弄好,也是填坑填大发了,之前还是有蛮多地方欠考虑(毕竟没有专门做 PHP 这块,缺乏这些细节的了解(真是个好借口))。
另外还想吐槽一下:
- PHP:虽然我依旧觉得 PHP 很优秀,新手友好,但和 Python 比,还是不如,编程体验差很多。
- Discuz:应该被淘汰了吧,为什么还有这么多人用,真是的!
以上所述就是小编给大家介绍的《PHP 5.2 与 PHP 5.3+ 的几处差异》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。