有人說,熟練掌握了 if 和 while,就等於掌握了 PHP 語言,這句話有道理嗎?為什麼?
01-28
Bullshit. 這和說『熟練掌握了 do 和 have 就等於掌握了英語』一樣純屬扯淡。
判斷和循環是每種語言的精髓、也是用到的最多的知識、但是並不是學到了全部、這樣說總是感覺有點瞧不起php的趕腳
恩 這個也許只能說基本語法,這才算學好PHP的第一步吧!
個人認為學習PHP分幾個層次,具體如下:1.基本語法
這個可以說是練功過程中的馬步,基礎必須紮實啊。紮實了才可以往下看其他的東西。2.PHP+MYSQLPHP與資料庫的最佳拍當,最好有時間還可以學習一下他的另兩個拍當,Linux和apache。
3.面向對象 這個更是非常重要的一個東西,也許這些在基本語法中已經涉及過了。但是面向對象遠遠不是單純的定義幾個類,定義幾個方法這麼簡單。這是一種思想。有時候通篇都是函數,但是卻是面向對象的很不錯的實踐,這個說的是開源CMS drupal。
4.設計模式
學習這個東西,可以在單純實現你代碼的基礎上,提高你的代碼的可讀性,可擴展性。可以更好的和其他人合作。5.模板引擎 有名的有Smarty,可以看看官方網站的手冊http://www.smarty.net/或者到一些論壇下載手冊。使用模板引擎,可以實現PHP與前台界面之間的分離。6.二次開發
像大多數論壇,博客都是二次開發的。有discuz!,Wordpress,phpwind等。可以寫一些插件或者主題,同時貢獻給開源組織,供大家學習討論。
7.用框架開發 如:ZendFramework,YiiPHP,CI等。PHP框架確實是個好東西,可以極大的減少重複的工作量,而且框架往往都是彙集了N多程序員的智慧,是個不可多得的學習材料。
8.研讀別人的代碼 你如果第5步用的是Smarty的模板引擎,那你現在可以讀讀Smarty的代碼(前提,第3,4步做得比較好),之後是讀第6步裡面的
9.開發自己真正成熟的框架或PHP應用程序。這格式後寫出來的程序就不像第2步中寫的那樣,因為你要吸取一些開源的程序框架的優點。這時候你程序的性能和可擴展性就會極大的提高。
9.你會發現有些東西是程序還不能解決的。
10研究更底層的技術,這時候就不是單純的PHP程序員了。 這些東西是來源於網上看到的一篇文章,加入了一些自己的理解,感覺還是蠻有道理的。
對於熟悉FP的人來說, 這句話是對的, 其它的不知道.
我寫了八年代碼 用while的時候 一隻手都數的過來。。。。
「熟練掌握了 if 和 while」和「會用if while」是不一樣的,而很多回答都把「熟練掌握」偷換成了「會用」。
首先,if while即代表了選擇結構和循環結構,這兩者加上順序結構(無特定關鍵詞),三者是組成任何演算法的基石(語言無關),或者說,任何一種演算法,都可以用這三種邏輯結構來實現,這是早已被嚴謹證明的。熟悉掌握了這三者,也就有了大半江山。
其次,熟練掌握絕不意味著僅懂得它們的基本語法格式,這只是個開始,熟練掌握它們在各種情形下的使用,以及由此展開所涉及的各種演算法、相關經驗技巧等,範圍相當之廣。if while這兩個詞在這個層面上,不再是兩個語法,而是代表了對整個語言的熟練運用。
這倆詞,看起來很短,實際上卻很長。題主說的 只能算入門。
只考慮實現功能的程序員是非常恐怖的。他會在代碼中埋下N多坑。性能問題。維護問題。安全問題。邏輯問題等等。引用一下某牛說的 好程序員定義我覺得好程序無非三點:
1、性能優秀,性能是程序很重要的一個特性,無論是辦公軟體、殺毒軟體、遊戲還是web幾乎所有的程序都是很關注性能的,沒人喜歡慢吞吞的軟體,我們學的計算機原理,演算法,數據結構,各種xx性能優化,各種xx調優,各種高性能xxx,各種xx編程藝術,各種架構,分散式也好,並行計算也好最終目的是什麼?就是為了良好的性能,說白了就是為了程序效率2、容易維護:程序不是一成不變的,維護性也很重要,什麼代碼整潔之道啊,程序員素養啊,大道至簡啊,軟體工程啊,設計模式,重構,REST,AOP,IOC,面向對象,UML,文檔驅動開發,等等各種方法各種概念,其實目的無非就是讓程序代碼更優美,結構更合理,改起來更方便,以後更好維護。
3、魯棒性好:作為好程序來講,BUG一定要少,這是必須的,對於用戶的各種合理不合理操作都要有良好的應對方案,我們學習各種測試技術、各種編程思想,安全技術,密碼學、各種高可用、各種主從架構,各種備份技術等等都是為了讓我們的程序保證良好的運行狀態,不論是用戶的誤操作還是惡意攻擊,無論是天災還是人禍我們的程序都能從容面對。
我覺得沒有道理。PHP裡面東西很多的。
只算入門
多謝邀請 if while 等判斷語句在很多編程語言裡面十分常用,但是不代表掌握了它們就算是掌握了這門語言,這僅僅是基礎而已 個人認為這句話大概是想表明php簡單易學而已,不過也有誤導人的意思
如果只是語言本身,算有道理。
但是,現在的高級語言(如PHP、Java、C#、Ruby)更重要的是語言之外的東西,如庫、模式、調優等等if 、while和PHP有毛關係,雖然說各種編程語言之間差別不大,但是說掌握了 if while 就掌握了PHP、bash、ruby、c++、java、perl等等 是不是顯的太荒謬
學會基礎語法只是敲門磚,更別說掌握。。。
推薦閱讀:
※為什麼在代碼中不應該混雜sql語句?
※如何成為php核心開發組成員?
※php單點登錄如何實現
※買量防刷防假的策略一般有哪些,可否舉些實例?