有没有一种简单的方法可以将C#类转换为PHP?
我习惯于编写CWindows应用程序。但是,我有一些免费的托管PHP Web空间可供使用。我对PHP有基本的了解,但从未使用过面向对象的功能。
有没有简单的方法可以将Cclasses转换为PHP类,还是不能用PHP编写完全面向对象的应用程序?
更新:除了基础之外,没有对.NET框架的依赖。主要目的是重组类属性,变量枚举等。PHP将托管在Linux服务器上。
解决方案
回答
如果Cclass使用它,那么一个巨大的问题就是在PHP中复制.Net Framework。
回答
我不知道用于自动化该过程的工具,但是我们可以使用Reflexion API浏览Cclass并生成相应的PHP类。
当然,这里的困难是正确地将Ctypes映射到PHP,但是通过足够的单元测试,我们应该能够做我们想做的事情。
我建议我们采用这种方式,因为我已经进行了Cto VB和C ++转换。那是痛苦的,但结果值得。
回答
几乎完全可以采用面向对象的方法编写PHP应用程序。我们将必须编写一些过程代码来创建和启动第一个对象,但除此之外,还有许多针对PHP的MVC框架都是面向对象的。我以Code Igniter为例,因为我认为它的重量较轻。
回答
如果问题是我们要过渡到PHP,并且很高兴继续在具有.NET支持的Windows服务器上运行,则可以考虑使用swig打包代码。
这可以用于生成要从php执行的存根,然后可以以增量方式将.NET代码重写为PHP。
这适用于任何受支持的语言。 IE。如果我们确实愿意,可以将C ++中的应用程序逐步重写为Java。
回答
PHP不支持枚举,这可能是不匹配的领域之一。
另外,要注意收集类型,尽管PHP具有OO功能,但除了过度使用数组数据类型外,别无选择。如果我们不希望看到更多内容,请查阅PHP手册中有关迭代器的部分。
类的公共,受保护,私有和静态属性都大致按预期工作。