感覺php入門快 ,但是想深入,覺得很難,不知道往那個方面好?

來源:互聯網
上載者:User

回複內容:

入門快是語言的本身簡單,這個你去學 Python、Ruby、Golang 應該都差不多的簡單,深入難是因為你自己本身簡單,這個就像學英語一樣,會說英語不難,但是讓你自己用英語寫文章卻很難,說英語你只需要把自己想說的那一兩句說出來就成了,回答別人的問題也讓你有一個明確的目標,就算你沒有練習到那種純粹的英語思維的話,你也可以把聽到的翻譯成中文,然後用中文回答,再把自己想回答的翻譯成英語翻譯成英語,這個和你寫PHP程式是一樣的,有一個問題讓你去解決,比如列印出99乘法表,你可能可以翻譯成:我現在有一個需求,要列印出99乘法表,設定兩個變數 i 和 j,然後只需要有兩個迴圈就成了,當然還需要一個判斷,等等,然後把這個中文翻譯成PHP語言的實現。但是和英語一樣,如果你想深入的話,那就需要看你的其它功底了,比如你現在需要寫一篇名為《論古希臘羅馬神話對英語詞彙發展的影響》這麼一篇論文,從名稱上看,你就不難發現,除了懂英語的文法(PHP文法)、詞彙(PHP關鍵字)、結構(PHP控制結構)等等之外,你還需要瞭解英語之外的東西(希臘/羅馬神話、受這些神話影響的英語詞彙、英語的曆史),而這些在PHP裡面體現為你需要知道編程思想、基礎、資料結構或者等等其它的與PHP本身不想幹但是卻必要的知識。

我自己本身是英語專業,PHP也好,Python也好,都是自學的,曾經也和你有過一樣的問題,我想你現在應該處在一個:看得懂別人的代碼和程式,要你做一個什麼東西你也勉強能做出來,但是問題就是自己不成體系,尤其是當你去面試的時候,如果有筆試的話,你基本上是不可能過得了的……所以你才會有這樣的困惑——我的PHP怎麼就是深入不了呢?

我也沒有什麼特別的專門針對這個問題的方法,就只說說我自己怎麼熬過來的吧:

1. 先是和你一樣,不過那個時候還沒有知乎這種的網站,那個時候流行的是部落格、論壇等等的,所以,基本上就是在Google上面找,但是發現答案基本上都差不多——找幾本好的教程,認真的一步一步學之類的,其實這個對於自學來說沒有什麼本質 的作用,都是治標不治本的,就這樣過了有近一年時間,在這一年時間裡面,PHP沒有長進,只是會用這東西來寫寫WordPress主題的外掛程式(這也就是我當時唯一 的需求)

2. 在那一年裡面,接觸了Python,立馬就被它吸引了,所以立馬放棄了PHP,成了一個忠實的Python使用者,但是同樣的問題又發生了,Python的官方文檔我全部認認真真的學習了一遍,理論上講,我應該成為一個完全懂Python的人了,應該是只要Python能解決的問題我都能解決的了,但是根本 就不是這麼一回事兒……能做菜和能做美味的菜還是有很大區別的,就像炒個白菜,出鍋早一分鐘和晚一分鐘味道和營養就差得很遠,原因很簡單,就還拿炒白菜這個來說事兒,白菜炒得太熟了,沒啥營養,而且又不脆了,出鍋太早了又沒熟和吃生的沒啥區別,但是這個問題難道就是你會不會炒嗎?熱鍋,加一點點油,丟白菜進去,炒一下,加點鹽,出鍋,就這麼簡單,那為什麼味道這麼不一樣?

3. 再後來,發現一個問題,我的HTML+CSS是與PHP同時接觸的,但是HTML+CSS我沒過兩年就敢在任何一個地方使用“精通”這個詞來描述自己的能力(其實現在想想,即使是現在,我也並沒有達到精通程度),去找原因,同樣的起點,為什麼一個進度這麼快一個進步這麼慢?我所找到的是,對於HTML+CSS的產生,發展,曆史,以及它的各種版本以及各種版本之間的不同,為什麼不同等等都有很深入的瞭解,是這些與HTML+CSS這門技術本身的標準不相關的東西讓我“精通”這個,你說HTML+CSS難嗎?很簡單,就是標籤、屬性、值、內容而已,但是你說它不難嗎?它難……為什麼同樣一個設計作品,同樣是轉成HTML+CSS的實現,為什麼別人只花了1000行而你卻要花3000行?這個就是區別,比如說最通用的左中右三欄布局,如果你僅僅只是去學習CSS的話,而且你足夠聰明的話,你可能會把 float 用得特別熟悉,但是你會發現,即使是 float ,你的也沒有別人的靈活,別人定義的HTML結構+CSS可以很簡單的實現左中右三欄,而且最主要的,這三欄還可以很簡單的調換位置,而你寫的卻是個死的,要換個位置要麼還得改HTML要麼就要改CSS,這是為什嗎?

4. 再後來,試著以學習HTML+CSS的方式去重新學習PHP/Python,這個時候我才真正的學會思考,但是這個過程是很長的,但是一點兒也不痛苦,瞭解PHP的由來,我知道了,PHP出現之前都有哪些類似的語言,為什麼作者要出一個PHP?PHP是用來幹嘛的?我知道了PHP可以用來開發程式,是一門程式設計語言,然後我再往上追溯,瞭解了程式設計語言是什麼、為什麼要有這個?然後再往上……新的知識會讓你暫時完全忘記你是在學習PHP,但是在這一個過程中,你會發現,自己的PHP技術 也在慢慢的完善,因為所有這些之間都是通用的,在瞭解其它的理論的時候,其實就是在增加你的PHP知識,比如MVC,比如命名規範,比如各種編程思想,比如物件導向等等的

5. 在這種學習過程中,你的知識面不再只局限於PHP這一個單一的事物,而是與之相關的所有事物,而這些所謂額外的知識將成為你自己生命的一部分,以後不管你去學習一門什麼其它的程式設計語言,一般情況下都能很快的入門、深入……我想樓主是有些擔心的吧,害怕學了好像也是學無所成的感覺,其實在學習的時候實踐是相當重要的,而且儘可能的把學過的知識相互融合,就像樓上所說的,學習一種事物,碰上真執行個體時,其實不僅僅是靠一方面完成的,當然有些也是能完成的,只是過於簡單化了而已。所以在我看來心態其實很重要,它是能支撐你繼續走下去的動力,推薦學習時不妨多接觸一下別的,這樣應該會好很多。
  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.