2008-08-17 140 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

相關問題