将 php 5.4 移植到 5.3

hko*_*sha 5 php backwards-compatibility

是否有任何自动化工具可以将 php 5.4 脚本转换回 5.3?大多数情况下,新样式数组会导致问题。

这个:

<?php
$x = [1, 2, 3];
$y = [
  'a' => [1,2],
  'b' => 'c',
];
function ff($x = []) { ...}
Run Code Online (Sandbox Code Playgroud)

应该转换成这样:

<?php
$x = array(1, 2, 3);
$y = array(
  'a' => array(1,2),
  'b' => 'c',
);
function ff($x = array()) { ...}
Run Code Online (Sandbox Code Playgroud)

其他向后兼容性问题只是少数问题,可以手动修复。我在语言处理方面非常糟糕,有人已经这样做了吗?转换器不需要是 PHP。python, Java, ...都是文件(我只是更喜欢python,仅此而已)。

End*_*del 3

您可以使用工具将代码库从 PHP 5.4+ 转换为 PHP 5.3,例如: http: //github.com/endel/php-code-downgrade/

该工具将读取您的所有文件并使用 PHP 5.3 标准重写代码,甚至对于您的 Composer 依赖项也是如此。

理想的情况是编写与您的生产服务器兼容的代码,但有时不可能通过先例知道它,因此这个工具可能会为您完成这项工作。

使用它的优点是您可以编写现代代码,而不必担心旧版 PHP 版本的支持。

  • 只是想注意一下安装步骤,github 中似乎还没有: 1. 克隆存储库 `git clone https://github.com/endel/php-code-downgrade.git &amp;&amp; cd php-code-downgrade` 2.安装 Composer 依赖项 `composer install` (2认同)