乾貨 | PHP就該這麼學!
前段時間和大家一起分享了一篇關於學習方法內容《大牛與搬運工的差距——學習方法的力量》。我們將學習過程分成八步,並借鑑了敏捷開發的迭代思想,以達到自我迭代學習的效果。行勝於言,理論結合實踐才是王道,所以本文我將基於前面的學習方法,分享我是如何學習PHP的。
為什麼學習PHP?
最初接觸PHP時,是源於自己想學習網站開發,由於是前端轉後端,PHP完全是自學的,不過好在之前學過C語言,學起PHP來倒並未覺得吃力。使用PHP我們可以開發出各種優秀的web應用程式。
我不敢說PHP是最好的語言(避免引戰),但PHP憑藉其易學、快捷、高效等特性,至少在WEB應用開發領域裡一直都是熱門技術,以至於現在市面上各種IT培訓機構裡都不乏PHP的身影。
接下來,我們就馬上開啟PHP的學習之旅~
1.確立目標
我們都知道做事情要定個目標,看似簡單,但實際大部分人做事無成果的原因恰恰就是這一步沒做好。
建議大家在確立目標時,借鑑”SMART”原則——Specific(具體的), Measurable(可衡量的),Achievable(可達到的),Realistic(切合實際的),and Timed(合時宜的)。不要給自己制定諸如“我要精通PHP”、“我要成為技術大牛,月薪XX萬”等這種不著邊的目標。
我在初學PHP時,給自己定的目標很明確:
學習PHP的基本知識,並通過開發一款CMS建站系統來驗證學習效果。
2.拆分任務
我們通過逆向分解,將目標拆分成具體的可執行任務。這個過程其實就是將目標細分整理成具體的小目標或問題,然後將其關聯到一個個可執行的任務,目的是完成目標或解決問題。
完成我的目標,需要具體學習哪些知識,完成哪些事項呢?首先,學習PHP之前基本的HTML,CSS,JS等前端基礎還是有必要的。然後學習PHP的基本語法,檔案、圖片、錯誤等處理機制,還有與mysql資料庫的一些操作,以及會話控制、協議、MVC設計模式等。
梳理之後,目標就會被分解成一個個需要完成的具體任務。這裡我藉助“然之協同”裡的任務管理工具,將需要做的任務都羅列出來,方便後面執行跟蹤。
3.蒐集知識資源
學習過程中必然少不了各種學習資料,在蒐集知識資源時主要側重三方面:書籍、官方文件和網路技術文章。
首先我找的是PHP的官方手冊,這是必備學習工具,內容既權威又全面。其次書籍到現在買的較多,對於初學者,不建議“書海戰術”,個人覺得“手冊+一本書+一臺電腦”足矣。其實很多入門書籍都是基於PHP手冊編寫的,千篇一律,所以建議初學者學習PHP時要研讀手冊,每段例項程式碼都上手操作並理解透徹。這裡為初學者推薦幾本個人覺的還不錯的書以供參考:
《PHP程式設計(第三版)》
《PHP和MySQL Web開發(原書第4版)》
《深入PHP:物件導向、模式與實踐(第3版)》
除此之外,平時也會在CSDN、掘金、部落格園等IT技術門戶裡查閱一些php技術相關的“乾貨”。
對於知識資源的蒐集,還是要提醒大家注意一點,切勿做“收藏控”。很多朋友對於書籍、各種教程、網路文章等資源,購買了下載了收藏了,然後,就沒有然後了,最終真的淪落為“收藏品”。而我們真正要做的是要把知識“收藏”並沉澱到我們腦子裡。
4.分配自身資源
其實就是時間管理。我們的時間、精力等各方面資源有限,所有的知識不可能平均分配有限資源。對於我們蒐集的知識資源,要分清主次,然後使用不同的時間管理策略進行學習。
前面梳理了一些需要執行的學習任務,並整理了大量的學習資源,這一步要做的就是將這些任務、資源結合自身的實際情況,合理規劃分配時間精力。每個人的情況不同,所以這一步因人而異,這裡我還是藉助“然之協同”的待辦工具,做一個具體可執行性的學習計劃。
5.勤學
學習效率與效果取決於執行力。之前文章介紹過學習中的一些方法論,這裡我簡要地介紹一下學習PHP時的大體過程。
a.快速泛讀
如果你有一定語言基礎,比如我之前學過C和前端技術,再學起PHP來上手就相對快一些。基本的語法知識可以先快速過一遍,像陣列、字串、圖片等處理函式、物件介面、正則匹配等可以後面慢慢積累、深入。
b.深入解讀
由淺入深地沉澱每個知識點。正如前面所講,建議先從PHP手冊入手,將每個知識點理解清楚,一定要將每一段例項程式碼親手敲一遍(手懶是永遠都學不會任何一門語言的)。一遍不懂就多敲幾遍,不僅要明白怎麼用,還要理解為什麼這樣設計,否則對於基本知識浮於表面,只會為後面學習挖下坑。
c.問題攻讀
在學習過程中你必然會遇到各種問題,先查閱資料或谷歌來解決。如果遇到以現有知識層面難以解決的問題,可以先記下,或許後面會柳暗花明或找他人幫助。
這一步學習的正確姿勢其實就是“做任務,刷副本,打怪升級,加技能點”。
6.建立知識體系
不要以為這一步可有可無,建立知識體系有助於幫我們理清各個概念和知識點之間的關聯,逐漸形成系統的知識體系。在web開發裡,我們知道任何一門技術都不是孤立的,你要學習很多知識,所以你在學習PHP時會發現,從PHP這個點會延伸出多條知識鏈,從而系統地形成一個知識體系。
這裡我藉助xmind腦圖工具,整理了一下PHP的基本的知識體系。(網上有列的更詳細全面的版本)
7.好問
基於前面問題攻讀後還有未解決的問題,就要求教他人獲取幫助了。提問也是一門藝術,這仍是一個學習交流的過程,而不是讓別人去解決原本你該解決的問題。
向別人提問求助時,要講問題的來龍去脈講清楚,如怎麼引起的,自己嘗試做了哪些操作等等。這些年在眾多技術交流社群和平臺,見過很多奇葩的提問方式,這裡列幾個,與大家共勉。
a.直拋結果型
直接甩出一張截圖或錯誤提醒,並附上一句:怎麼解決?怎麼破?跪求科普……
b.不懂就問型
不動腦,不動手,碰到問題就問。這種選手即便幫他解決了問題,他也學不到東西。
c.懶人型
與前者類似,但更滑稽可笑,看到這種問題我個人向來直接無視。比如“這個問題是這樣操作麼?”,“我這樣整對不對?”,“是點這裡麼?”……
8.分享複述
其實即便不提“費曼技巧”,我們很多人在學習時都會用到分享複述這個方法。無論是演講、錄視訊、還是像我此刻這樣寫文章,其實都是在向他人闡述自己對知識的理解和觀點,然後大家會給自己一些反饋,比如你的錯誤、問題,接著自己再回歸到知識裡完善不缺“漏洞”,如此迭代學習。
開源專案推薦
這裡分享下我們團隊基於PHP+Mysql開發的專案,供大家學習練習。
小結
我將自己學習PHP的過程分為八步:
1.確立目標:沒有目標的學習是不會有結果和效果的。
2.拆分任務:將目標分解成具體可執行的學習任務。
3.蒐集知識資源:查閱官方文件、購買書籍、蒐集網路乾貨文章。
4.分配自身資源:合理分配時間精力,制定學習計劃。
5.勤學:強大的執行力是學習的根本保障。
6.建立知識體系:將學習的知識在腦海裡建立系統模型。
7.好問:避免孤立學習,但好問也要會問。
8.分享複述:檢驗學習成果,提高學習效果的最好方法。
作者:GavinHsueh,QQ/微信:753391279,專注專案管理、辦公自動化、網站建設等web應用開發領域。
相關文章
- 《Linux就該這麼學》第四課Linux
- PHP的就業前景怎麼樣?PHP小白應該怎麼學習?PHP就業
- 純鹼,這些乾貨你應該知道QLX
- Spring 學習,看松哥這一篇萬餘字乾貨就夠了!Spring
- 《Linux 就該這麼學》書籍免費贈送 PDF 版本Linux
- web前端就業開發學習路線(乾貨)Web前端就業
- 防範社工攻擊,就該這麼做~
- 乾貨 | 目標檢測入門,看這篇就夠了(下)
- 乾貨 | 目標檢測入門,看這篇就夠了(上)
- 乾貨|工作中要使用Git,看這篇文章就夠了Git
- 17期-什麼是MySQL資料庫?看這一篇乾貨文章就夠了!MySql資料庫
- 養豬、插秧、搬貨……這才是機器人該乾的活兒機器人
- CICD 流水線就該這麼玩系列之一
- 前端乾貨系列—-入門webpack這一篇文章就夠了前端Web
- 前端乾貨系列----入門webpack這一篇文章就夠了前端Web
- 遊戲技能該如何設計?這二篇乾貨帶你瞭解遊戲
- 資料許可權就該這麼設計,yyyds!
- 2018年,為什麼你該學PHP?PHP
- linux就該這麼學第8章使用 iSCSI 服務部署網路儲存Linux
- 華為鴻蒙OS釋出會解析,這些乾貨你應該知道鴻蒙
- 乾貨!這才是學習Python的正確開啟方式!Python
- AI客服上線 乾貨 乾貨 全是乾貨!AI
- 營銷效果大幅提升,AIGC影片創作就該這麼用AIGC
- 乾貨 | 學習大資料為什麼要先學Java?大資料Java
- Linux就該這麼學:重定向,管道符,萬用字元,轉義符,環境變數Linux字元變數
- 乾貨:PHP與大資料開發實踐PHP大資料
- 以就業為目標,Python到底應該學什麼?就業Python
- 機器學習其實就這麼回事兒!機器學習
- 【乾貨乾貨】configtxlator 工具介紹
- 乾貨合集│最好用的 python 庫都在這Python
- 大學兩年,寫了這篇幾十萬字的乾貨總結
- 大家有一起學AI的麼?有乾貨資料
- 【java乾貨】java怎麼寫APPJavaAPP
- Elasticsearch就這麼簡單Elasticsearch
- 華為雲學院乾貨:服務創新大舞臺在這裡!
- 這就是現代php該有的樣子(一)PHP
- 這就是現代php該有的樣子(二)PHP
- 乾貨 | 這可能全網最好的BatchNorm詳解BATORM