我习惯于编写 C# Windows 应用程序。不过,我想使用一些免费的托管 PHP 网络空间。我对 PHP 有基本的了解,但从未使用过它的面向对象功能。

是否有一种简单的方法将 C# 类转换为 PHP 类,或者是否无法用 PHP 编写完全面向对象的应用程序?

更新: 除了基础知识之外,不依赖 .NET 框架。主要目标是重构类属性、变量枚举等。PHP 将托管在 Linux 服务器上。

有帮助吗?

解决方案

几乎完全采用面向对象的方法编写 PHP 应用程序是完全可能的。您必须编写一些过程代码来创建和启动您的第一个对象,但除此之外,还有大量用于 PHP 的 MVC 框架都是面向对象的。我想看的一个例子是 代码点火器 因为在我看来它的重量要轻一些。

其他提示

PHP 不支持枚举,这可能是不匹配的地方之一。

另外,请注意集合类型,尽管 PHP 具有面向对象的功能,但它往往除了过度使用数组数据类型之外别无选择。如果您想了解更多内容,请查看 PHP 手册中有关迭代器的部分。

类的公共、受保护、私有和静态属性都大致按预期工作。

如果 C# 类使用 .Net Framework,那么在 PHP 中复制 .Net Framework 将是一个巨大的问题。

我不知道有什么工具可以自动化该过程,但您可以使用 Reflexion API 来浏览 C# 类并生成相应的 PHP 类。

当然,这里的困难在于将 C# 类型正确映射到 PHP,但通过足够的单元测试,您应该能够做您想做的事情。

我建议您采用这种方式,因为我已经完成了 C# 到 VB 和 C++ 的转换。那是很痛苦,但结果是值得的。

如果问题是您想要转换到 PHP 并且您很高兴继续在支持 .NET 的 Windows 服务器上运行,您可能会考虑使用包装代码 痛饮.

这可用于生成从 php 执行的存根,然后您可以以增量方式将 .NET 代码重写为 PHP。

这适用于任何受支持的语言。IE。如果您确实愿意,可以将 C++ 中的应用程序逐步重写为 Java。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top