寻找把 PHP5.5 代码编译成 PHP5.2 代码的工具

2014 年 12 月 24 日
 coldwinds
想法是:

本人目前用php5.5,但现实很多环境是5.3、5.2的,希望能以php5.2等低版本为目标语言,把5.5的代码convert成5.2,这样实现一次编写,多个平台版本运行
4455 次点击
所在节点    PHP
19 条回复
invite
2014 年 12 月 24 日
升级版本是比较合适的选择。
tini8
2014 年 12 月 24 日
我还想着把ruby编译成php呢,这样ruby就能像php一样流行了
imnpc
2014 年 12 月 24 日
目前不可能 或者你愿意出巨资请ZEND公司搞定
fwee
2014 年 12 月 24 日
@tini8 你能把ruby编译成jar包
kmvan
2014 年 12 月 24 日
别管php52了,支持上php56
icedx
2014 年 12 月 24 日
你应该自己写一个 这样你就能改变世界了
explon
2014 年 12 月 24 日
不可能的,这个在开始开发的就时候就应该定好支持什么版本,现在 5.2 的占有率还是很高的,5.3 后出现的命名空间跟一些新语法只是写的时候爽一些罢了。
66beta
2014 年 12 月 24 日
用国内虚拟主机的话,确实很苦恼,版本都很低
买个vps吧,毕竟也有lamp方面的门槛,肯定没虚拟主机的宿主机环境配置得好

结论是苦学linux web服务器相关知识,想要啥版本就装啥版本
lyragosa
2014 年 12 月 24 日
不可能,如果5.5的程序用了大量新特性(比如现在github上铺天盖地的namespace用法),除了手动重写没有任何办法。
oott123
2014 年 12 月 24 日
感觉是要倒退历史…
lincanbin
2014 年 12 月 24 日
不可能的,Namespace就不说了,php52没有完整的PDO类,你转换过去了,现在依赖PDO的怎么处理?
Actrace
2014 年 12 月 24 日
namespace就是坑啊。。。
zhuzhichao
2014 年 12 月 24 日
我感觉对于PHP来说,5.3以前和以后都差不多是两个语言了。
zhuzhichao
2014 年 12 月 24 日
@Actrace 怎么可能是个坑呢?没有这个东西怎么推动PHP进步啊!那些composer包就没法搞了。
zhuzhichao
2014 年 12 月 24 日
我建议楼主直接自己开发环境搞成5.2,慢慢改得不报错吧!
shiny
2014 年 12 月 24 日
kidding me… php 能向下兼容已经很不错了
robertlyc
2014 年 12 月 24 日
我大ruby高攀不起php啊
coldwinds
2014 年 12 月 24 日
我说一下思路吧

namespace 可以把\替换成_,就像zend 1.x这类5.2时代惯用的的做法

traits 就直接把代码写入进类里就可以了

closure就是新建一个函数 函数采用随机hash命名比如 function a90234jsdhfj 这样就避免重复实现“匿名了” 然后通过call_user_function回调就可以了

感觉还是可行的,5.2.x的时代就是这么玩的一样达到5.4的效果

就看怎么写转换代码了

写好静态分析器是关键

咱是没精力写 要是有这里工具的话就好

---------------------

大家都很吃惊的样子 其实我觉并没有什么吧 php5.3以上的特性已经非常充分的考虑到5.2兼容了,我们在玩5.2的时候早已曲线实现过

那个时候traits这里特性 在5.2里面 被大家常用的类似功能就是behavior了

php5.3+某种意义上 最大的效果不过少减少代码量和增加可维护性罢了

@oott123 编译成5.2 不是说我要写5.2风格的代码 只是说让它能在5.2平台上能够跑

所以不是神马历史倒退问题

---------------------

@lincanbin 太复杂的项目也许不行 简单的项目也许可以 另外pdo有纯php mysqli/mysqli驱动的wrapper 而且我5.2的时候一直在用pdo mysql/sqlite没发现问题呀?其他我就不知道
xuwenmang
2014 年 12 月 25 日
论如何把奥迪的发动机改装进奥拓里。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/156215

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX