我习惯编写C#Windows应用程序。但是我有一些我想要使用的免费托管PHP Web空间。我对PHP有基本的了解,但从未使用它的面向对象功能。
是否有一种简单的方法可以将C#类转换为PHP类,或者是不可能在PHP中编写完全面向对象的应用程序?
更新:除了基础知识之外,不依赖于.NET框架。主要目标是重构类属性,变量枚举等.PHP将托管在Linux服务器上。
答案 0 :(得分:5)
PHP不支持枚举,这可能是一个不匹配的区域。
另外,要注意集合类型,尽管PHP具有OO功能,但它们除了过度使用数组数据类型之外别无选择。如果您希望超出此范围,请查看有关迭代器的PHP手册中的部分。
类的public,protected,private和static属性大致按预期工作。
答案 1 :(得分:3)
如果C#类使用它,那么一个巨大的问题就是用PHP复制.Net Framework。
答案 2 :(得分:2)
几乎完全可以用面向对象的方法编写PHP应用程序。您将不得不编写一些过程代码来创建和启动您的第一个对象,但除此之外,还有许多面向对象的PHP MVC框架。我将其中的一个例子看作是Code Igniter,因为我认为它的重量稍轻一些。
答案 3 :(得分:0)
我不知道有关自动化过程的工具,但您可以使用Reflexion API浏览您的C#类并生成相应的PHP类。
当然,这里的难点是将C#类型正确地映射到PHP,但是如果有足够的单元测试,你应该能够做你想做的事。
我建议你这样做,因为我已经对VB和C ++进行了C#转换。这是一种痛苦,但结果是值得的。
答案 4 :(得分:0)
如果问题是你想要转换到PHP而你很乐意继续在支持.NET的Windows服务器上运行,你可以考虑使用swig包装你的代码。
这可用于生成存根以从php执行,然后您可以以增量方式将.NET代码重写为PHP。
这适用于任何受支持的语言。即。如果你真的想要,你可以用c ++逐步将应用程序重写为java。