2010-08-16 16 views
13

我將不得不學習PHP很快,因爲我需要一個新的工作。直到現在,我一直使用C#編程。有什麼我應該知道的有關PHP的奇怪或不同於C#視角?需要注意的事情?從C#到php

+5

PHP是C#作爲外套是一輛車(他們非常無關) – Falmarri 2010-08-16 07:51:35

+5

你做過任何ASP.NET嗎?如果不是,他們是完全不同的,沒有答案可以覆蓋它。 – Incognito 2010-08-16 07:53:36

+0

PHP與C#完全不同,但是如果你已經完成了ASP。那麼你應該能夠在某種程度上在PHP中使用有關MVC(和其他設計模式以及一般OOP原則)的知識。只要選擇一些像Zend或Symfony這樣的框架,你就可以更容易地從C#轉移到PHP。只是我的兩分錢。還有一件事 - 獲得像Eclipse這樣的好IDE(或者如果您選擇使用Zend Framework,那麼您可以使用Zend Studio),它將爲您節省大量時間。 – 2010-08-16 09:05:14

回答

10

它們是不同的編程語言。但是你可以用php做大多數事情,你可以用C#做​​。我認爲他們在下一個方面有所不同:

  • PHP比C#更簡單。
  • C#是完整的OOP語言,但PHP不是。
  • 類庫的.NET庫非常大,你有你需要的一切。如果你使用PHP,你可以從官方php站點或從zend框架官方站點下載pear的類。
  • 如果您使用C#創建Web應用程序,那麼您可以使用ASP.NET MVC 2並在PHP中使用功能較弱的框架:symfony,zend框架,yii,kohana。

在C#之後,你會覺得PHP非常有限。

圖書閱讀:爲proffessionals

  • PHP 5。
  • PHP設計模式。

當前版本的PHP是5.3。

+5

....和C#被編譯,而PHP被解釋爲 – PurplePilot 2010-08-16 09:07:49

+0

抱歉與矛盾... * PHP是一種OOP語言。你爲什麼說它不是? *給我看一個你不能用你提到的框架解決的案例。 – udo 2010-08-16 09:29:54

+1

不,我說:「C#是[全] OOP語言,但PHP不是。」我提到[全] OOP。在PHP中,我們可以使用函數和類。但在C#只有類。 – 2010-08-16 10:05:10

0

至於我C#是有價值的,不是因爲語言的卻多了一份框架您可以使用它的。因此在這個意義上PHP和C#完全不同。

我一直在PHP工作一段時間,然後轉移到C#和ASP.NET。 現在沒有辦法有人可以再拖我到PHP了。我寧願尋找另一份工作,而不是使用PHP工作。沒有什麼個人的,可能我也是dependent on IDE,但我不會交換Visual Studio的智能感知,C#的強大的打字以及我喜歡.NET的其他許多功能。

+2

這個答案告訴你如何從C#轉換到PHP?爲什麼C#與PHP不同,因爲它有一個框架? PHP有許多框架,但是如果不參考語言,就不能真正使用框架。 愛VS和智能感知與從PHP轉移到C#有什麼關係? – PurplePilot 2010-08-16 08:53:27

+0

有許多PHP框架 - Zend,Symfony等。 – 2010-08-16 09:03:04

+2

@PurplePilot,我想我的回答只是一種表達方式,「在進入PHP-land之前三思而後行」。我知道有很多優秀的PHP開發人員,但我認爲,使用您已經有過的語言/框架,工作機會會更好。 – Regent 2010-08-16 09:57:59

2

這使我想起的那一刻:

  • PHP是一種鬆耦合類型的語言(您不必聲明變量,函數,對象之前他們使用)在PHP
  • 你需要有聲明中的「函數」。
  • 在PHP您實現使用「工具」(在C#用「:」)接口
+1

你不實現類,但接口。課程正在擴展。 – 2010-08-16 09:38:11

+0

正確。謝謝。 – udo 2010-08-16 17:07:11

0

我一直在使用PHP現在超過10年,學過C#,當它被投放到市場上,並用它自從。

我認爲PHP是一種功能非常強大的語言,如果程序員已經開始組織和徹底地構建,那麼語言結構可以很好。毫無疑問,PHP不會給你一個框架的易用性(編輯:除非你實現了一個)。 C#與.NET框架爲你做了很多事情,而在PHP中,你經常需要自己編寫你的類。

網絡上有巨大的類庫,你可以找到幾乎所有你想要的東西,但是與高度複雜的.NET程序集相比,實現它們有時更具挑戰性。我認爲在使用所有UNIX平臺的情況下,PHP有巨大的市場,然而在Ruby上有一個新的候選人,與Ruby有許多共同之處(我認爲)。

你爲什麼決定使用PHP?

+0

有許多PHP框架 - Zend,Symfony等。 – 2010-08-16 09:02:37

+0

嗯,我知道。不過,我認爲對於擁有更多C#經驗的人來說,消費比Ruby on Rails更難。但這只是我個人的意見。 (編輯) – 2010-08-16 15:18:50

3

時肯定http://www.php.net/manual/en/

學習PHP是使用C#的方式和PHP最重要的網址是不同的。使用PHP你必須自己編寫更多,但這會給你更多控制的優勢。 語法本身是非常相似的,所以你會錯過的唯一的東西是.NET框架。 來自強類型環境的弱打字有點奇怪,但你會得到它的竅門。

與之前的評論不同,PHP可以是OO(http://php.net/manual/en/language.oop5.php)。只需閱讀大量內容,並嘗試像在C#中編程時那樣使用良好的實踐。

1

PHP是專爲製作網頁而設計的,並且儘可能簡單,但沒有考慮未來或與過去捆綁在一起。

C#被設計成可以執行任何操作,並且可以在.NET安裝的任何地方運行。它被放在一起儘可能完整,並從過去中吸取更多。

PHP比較容易。如果你已經學過C#,不要擔心; PHP應該對你很快。查找示例代碼,以便您可以看到事情是如何完成的,爲PHP手冊添加書籤,並深入其中。

0

對於您來說,PHP的奇怪之處是:您不需要「windows」或「.net framework」來代碼:)

您可以抓取和記事本或任何編輯器甚至是在線的,編寫代碼並保存。瞧!

PHP在OOP中也很強大(PHP 7現在變得非常酷)。

因此,對於Web應用程序來說,PHP將成爲您可能需要的所有東西!

但是,如果你在c#中有很強的背景,你應該嘗試繼續它。

但仍然給PHP 10天,讓你意識到它的深度。