有没有一种简单的方法可以将 C# 类转换为 PHP?

Posted

技术标签:

【中文标题】有没有一种简单的方法可以将 C# 类转换为 PHP?【英文标题】:Is there an easy way to convert C# classes to PHP? 【发布时间】:2010-09-06 00:46:48 【问题描述】:

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

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

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

【问题讨论】:

【参考方案1】:

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

此外,请注意集合类型,尽管 PHP 具有 OO 功能,但它往往无法替代过度使用数组数据类型。如果您想了解更多内容,请查看 PHP 手册中有关迭代器的部分。

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

【讨论】:

【参考方案2】:

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

【讨论】:

【参考方案3】:

几乎完全可以使用面向对象的方法来编写 PHP 应用程序。您将不得不编写一些程序代码来创建和启动您的第一个对象,但除此之外,还有许多面向对象的 PHP MVC 框架。我会以Code Igniter 为例,因为我认为它的重量要轻一些。

【讨论】:

【参考方案4】:

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

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

我建议你这样做,因为我已经完成了 C# 到 VB 和 C++ 的转换。这很痛苦,但结果是值得的。

【讨论】:

【参考方案5】:

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

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

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

【讨论】:

以上是关于有没有一种简单的方法可以将 C# 类转换为 PHP?的主要内容,如果未能解决你的问题,请参考以下文章

如何将代码从 C# 转换为 PHP [关闭]

将 PHP 数组转换为类变量

有没有简单的方法将 .xls 文件转换为 .csv 文件? (Excel)

有没有一种简单的方法可以将 MySQL 数据转换为 Title Case?

有没有一种简单的方法可以将 BigQuery 中的行转换为 JSON?

有没有一种简单的方法可以将 C++ 枚举转换为字符串?