【问题标题】:Automated tools to downgrade php 5.5 code to php 5.3 code?将 php 5.5 代码降级为 php 5.3 代码的自动化工具?
【发布时间】:2013-12-11 18:15:30
【问题描述】:

我有大量的源文件,我在其中使用了各种较新的 PHP 功能 - 特别是二进制数、短数组语法、函数数组取消引用和 finally 块。

在我看来,除了后者之外,编写一个工具来自动降级(假设没有像使用 eval 这样的疯狂)代码是相当微不足道的,事实上,如果我找不到任何代码,那么我我想我基本上必须这样做。

不过,我最终获得这个职位的原因是因为我首先是该语言的新手,所以仅仅因为我找不到任何东西(除了 php -l)并不意味着这样的工具不存在。有人知道吗?

【问题讨论】:

  • 我要问一个显而易见的问题,为什么需要降级? PHP 5.3 将在 2014 年年中不受支持。似乎降级会付出更多努力,最终使用不受支持的版本而不是升级 PHP 版本。
  • 因为它必须在一个古老的环境中运行——实际上是 Zend 的一个版本,它已经足够老到不支持 aiui 了。可悲的是,这超出了我的控制范围。
  • 目前还没有成熟的项目这样做。只是一些像github.com/igorw/galapagosgithub.com/nikic/PHP-Backporter 这样的小实验,但实际上没有任何东西处于可用状态;)

标签: php automation


【解决方案1】:

我刚刚发布了一个将 PHP 5.4+ 代码转换为 PHP 5.3 兼容的工具:https://github.com/endel/php-code-downgrade

主要基于igorw/galapagosnikic/PHP-Parser项目。所以不要感谢我,感谢他们! ;)

【讨论】:

    【解决方案2】:

    我正在开发一个开源工具,它可以处理即时升级以及即时降级

    从 PHP 8.0 到 PHP 5.4 - 它被称为 Rector:http://github.com/rectorphp/rector


    我们吃自己的狗粮... :) Rector 本身是用 PHP 7.3 开发的,代码降级到 PHP 7.1:

    【讨论】:

      猜你喜欢
      • 2014-10-13
      • 1970-01-01
      • 1970-01-01
      • 2015-05-20
      • 1970-01-01
      • 2020-09-20
      • 2018-04-03
      • 1970-01-01
      相关资源
      最近更新 更多