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

2014-12-24 10:20:13 +08:00
 coldwinds
想法是:

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

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

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 06:46:36 +08:00
论如何把奥迪的发动机改装进奥拓里。。

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

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

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

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

© 2021 V2EX