我有一个非常大的 Ruby on Rails应用程序,我想移植到 PHP 5.2或者 PHP 5.3(如果5.3已经发布). 我一直在寻找一种自动转换简单类和ERB模板之类的简单方法.我希望在语言太不相似的情况下,我必须
我一直在寻找一种自动转换简单类和ERB模板之类的简单方法.我希望在语言太不相似的情况下,我必须自己做更复杂的事情.
有谁能建议这样做的方法?还是一个可以自动化其中一些的脚本?
编辑:
这样做有一个商业案例.这是否是一个合理的商业案例是另一个我不想在这里讨论的问题.我们有一个类似于Rails的框架 – 真正的问题是从Ruby转换到PHP而不是Rails转换为PHP.我并不是真的在寻找能够神奇地完成所有工作的东西,只是一些简单的东西会给你带来惊天动地.即使它所做的一切都改变了:
def somemethod somearg some.ruby.code end
至:
public function somemethod($somearg) { // some.ruby.code }
并在内容中留下内容作为ruby的PHP评论,这仍然会使工作更轻松.
理想情况下,会有一些东西可以做到这一点或类似的东西.否则我可能会自己使用写入工具.
我完全赞同troelskn,这是一项艰巨的任务,我认为你很难找到任何形式的移植应用程序的自动化流程.您最好的选择是找到一个在设计上非常相似的框架,并逐个移植所有类.
这里最繁琐的事情将是涉及数据库的地方.据我所知,仍然没有针对PHP的ORM解决方案,甚至接近Rails的ActiveRecord.你必须自己编写很多数据库代码粘合代码,并自己编写所有的模型查找器等.自从我上次检查以来,这方面可能有一些改进,但PHP本质上与ActiveRecord设计模式有一些问题.
同样,我必须回应一下我确信很多人都在想的…为什么你想在地球上将应用程序从RoR移植到PHP.这听起来像是一件昂贵的事情,无论是时间还是金钱,都没有明显的优势 – 除非当然你已经碰到了Ruby,它根本无法做到PHP可以做的事情.而且我觉得这很难相信.