本人最近從asp.net轉向了php,主攻方向是Web開發,感覺兩者之間還是有不少的區別的。
1.相對於.net,php更偏向於解釋性語言類型;
2.在.net中,我們操作的主要是封裝好的對象-類庫;在php中,我們主要操作的對象主要是各種函數;
3.php的編程工具相對於。net的編程環境和數據庫,顯得非常非常輕量級;尤其是編程環境,既輕量級還很靈活;
4.在.net和php中,數據傳遞的方式有get和post(第三種暫時不談);在.net中,我們獲取數據的用的是context.Request["操作對象的ID"]、context.QueryString["操作對象的ID"];在php中,我們獲取數據用的是$_get["操作對象的ID"]、$_post["操作對象的ID"];
5.在.net中,顯示數據的方式是Response.Write("你要顯示的內容");在php中,我們用的是echo "你要顯示的內容";
6.在.net中我們操作的主要是對象和數組,兩者之間可以相互轉化;在.net中,我們操作的對象主要是數組。
這個問題有些模糊 我在多個點解釋下
1.運行環境 .NET 是微軟的產品 理論上只能在windows 下運行 跨平台很差
PHP 可以再 Windows 和 Linux 上運行 跨平台很好
2.學習成本 PHP 弱類型語言(松散型),簡單,容易上手
.NET 我最早是做.NET 的 .NET 學習成本較高 時間較長
3.運行效率 這個仁者見仁智者見智 主要看開發人員的水平了。
不過現在 很多網站 都使用 PHP MYSQL Apache 的組合來開發 因為成本低
學習上:PHP和.NET的學習曲線相比,.NET的學習代價高一些,需要的知識也多一些,不過PHP流行一些學的人也多一些,社區遠遠多於ASP.NET,所以有難的問題好問些
首先PHP是可以跨平台運行,但是ASP.NET也並不是只能運行在Windows上,很久以前.NET的跨平台版本Mono已經可以穩定的運行在Linux等其它操作系統上了,而且二者都是開源、免費的。
市場方面:以市場份額來說(WEB),現在占有率第一的是傳統的ASP、第二是PHP,但ASP.NET也有不少,在企業開發市場方面.NET與Java是均分市場
應用方面:以Alexa前十的網站來看微軟官網,Windows Live 、Bing、MSN以及MySpace都是ASP.NET的,當然類似Facebook、WP等網站都是PHP的,但是更多情況下,PHP網站是不會只依賴PHP的,因為PHP雖然Expess,但是沒有多線程、面向對象設計也不算全面,所以要依靠其它框架來補充開發,不過也正是如此PHP才有著比.NET更大的開源社區
我學習ASP.NET是因為在.NET下 版本升級很快,而且很鍛煉技術,之前的知識可以學以致用,而且我自己感覺這個框架、C#這個語言就是我想要的,很完美,當然,這是在對其它的框架、語言有很多了解之上才決定的。
ASP.NET社區其實比想像中開放很多,微軟的官方文檔其實允許一般開發者提意見或修改、有調試時也隨時可以進入框架本身 的源代碼調試。