2008-08-17 102 views
5

我习惯于编写C#Windows应用程序。不过,我有一些免费的托管PHP网站空间,我想利用它。我对PHP有一个基本的了解,但从未使用它的面向对象的功能。有没有简单的方法将C#类转换为PHP?

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

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

回答

2

几乎完全可以用面向对象的方法编写PHP应用程序。您将不得不编写一些过程代码来创建和启动您的第一个对象,但除此之外,还有大量面向对象的PHP MVC框架。我想看一个例子是Code Igniter,因为它在我看来有点轻。

3

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

0

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

当然,这里的难点在于将C#类型正确映射到PHP,但是具有足够的单元测试,您应该能够做到您想要的。

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

0

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

这可以用来生成存根执行从PHP,然后你可以去增加重写.NET代码到PHP中。

这适用于任何支持的语言。即。如果你真的想要,你可以递增地用C++重写一个应用程序到java。

5

PHP不支持枚举,这可能是一个不匹配的区域。另外,注意集合类型,即使它是OO特性,PHP也往往无法替代过度使用数组数据类型。如果您希望看到超越这一点,请参阅PHP手册中有关迭代器的章节。

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

+0

+1对于可能问题区域的具体示例。 – Beska 2010-03-31 18:40:53

相关问题