乾貨 PHP就該這麼學!

2021-08-22 11:42:09 字數 2855 閱讀 5830

前段時間和大家一起分享了一篇關於學習方法內容《大牛與搬運工的差距——學習方法的力量》。我們將學習過程分成八步,並借鑑了敏捷開發的迭代思想,以達到自我迭代學習的效果。行勝於言,理論結合實踐才是王道,所以本文我將基於前面的學習方法,分享我是如何學習php的。

最初接觸php時,是源於自己想學習**開發,由於是前端轉後端,php完全是自學的,不過好在之前學過c語言,學起php來倒並未覺得吃力。使用php我們可以開發出各種優秀的web應用程式。

我不敢說php是最好的語言(避免引戰),但php憑藉其易學、快捷、高效等特性,至少在web應用開發領域裡一直都是熱門技術,以至於現在市面上各種it培訓機構裡都不乏php的身影。

接下來,我們就馬上開啟php的學習之旅~

我們都知道做事情要定個目標,看似簡單,但實際大部分人做事無成果的原因恰恰就是這一步沒做好。

建議大家在確立目標時,借鑑」smart」原則——specific(具體的), measurable(可衡量的),achievable(可達到的),realistic(切合實際的),and timed(合時宜的)。不要給自己制定諸如「我要精通php」、「我要成為技術大牛,月薪xx萬」等這種不著邊的目標。

我在初學php時,給自己定的目標很明確:

學習php的基本知識,並通過開發一款cms建站系統來驗證學習效果。

我們通過逆向分解,將目標拆分成具體的可執行任務。這個過程其實就是將目標細分整理成具體的小目標或問題,然後將其關聯到乙個個可執行的任務,目的是完成目標或解決問題。

完成我的目標,需要具體學習哪些知識,完成哪些事項呢?首先,學習php之前基本的html,css,js等前端基礎還是有必要的。然後學習php的基本語法,檔案、、錯誤等處理機制,還有與mysql資料庫的一些操作,以及會話控制、協議、mvc設計模式等。

梳理之後,目標就會被分解成乙個個需要完成的具體任務。這裡我借助「然之協同」裡的任務管理工具,將需要做的任務都羅列出來,方便後面執行跟蹤。

首先我找的是php的官方手冊,這是必備學習工具,內容既權威又全面。其次書籍到現在買的較多,對於初學者,不建議「書海戰術」,個人覺得「手冊+一本書+一台電腦」足矣。其實很多入門書籍都是基於php手冊編寫的,千篇一律,所以建議初學者學習php時要研讀手冊,每段例項**都上手操作並理解透徹。這裡為初學者推薦幾本個人覺的還不錯的書以供參考:

《php程式設計(第三版)》

《php和mysql web開發(原書第4版)》

《深入php:物件導向、模式與實踐(第3版)》

除此之外,平時也會在csdn、掘金、等it技術門戶裡查閱一些php技術相關的「乾貨」。

其實就是時間管理。我們的時間、精力等各方面資源有限,所有的知識不可能平均分配有限資源。對於我們蒐集的知識資源,要分清主次,然後使用不同的時間管理策略進行學習。

前面梳理了一些需要執行的學習任務,並整理了大量的學習資源,這一步要做的就是將這些任務、資源結合自身的實際情況,合理規劃分配時間精力。每個人的情況不同,所以這一步因人而異,這裡我還是借助「然之協同」的待辦工具,做乙個具體可執行性的學習計畫。

學習效率與效果取決於執行力。之前文章介紹過學習中的一些方**,這裡我簡要地介紹一下學習php時的大體過程。

a.快速泛讀

b.深入解讀

由淺入深地沉澱每個知識點。正如前面所講,建議先從php手冊入手,將每個知識點理解清楚,一定要將每一段例項**親手敲一遍(手懶是永遠都學不會任何一門語言的)。一遍不懂就多敲幾遍,不僅要明白怎麼用,還要理解為什麼這樣設計,否則對於基本知識浮於表面,只會為後面學習挖下坑。

c.問題攻讀

在學習過程中你必然會遇到各種問題,先查閱資料或谷歌來解決。如果遇到以現有知識層面難以解決的問題,可以先記下,或許後面會柳暗花明或找他人幫助。

這一步學習的正確姿勢其實就是「做任務,刷副本,打怪公升級,加技能點」

不要以為這一步可有可無,建立知識體系有助於幫我們理清各個概念和知識點之間的關聯,逐漸形成系統的知識體系。在web開發裡,我們知道任何一門技術都不是孤立的,你要學習很多知識,所以你在學習php時會發現,從php這個點會延伸出多條知識鏈,從而系統地形成乙個知識體系。

這裡我借助xmind腦圖工具,整理了一下php的基本的知識體系。(網上有列的更詳細全面的版本)

基於前面問題攻讀後還有未解決的問題,就要求教他人獲取幫助了。提問也是一門藝術,這仍是乙個學習交流的過程,而不是讓別人去解決原本你該解決的問題。

向別人提問求助時,要講問題的來龍去脈講清楚,如怎麼引起的,自己嘗試做了哪些操作等等。這些年在眾多技術交流社群和平台,見過很多奇葩的提問方式,這裡列幾個,與大家共勉。

a.直拋結果型

b.不懂就問型

不動腦,不動手,碰到問題就問。這種選手即便幫他解決了問題,他也學不到東西。

c.懶人型

與前者類似,但更滑稽可笑,看到這種問題我個人向來直接無視。比如「這個問題是這樣操作麼?」,「我這樣整對不對?」,「是點這裡麼?」……

這裡分享下我們團隊基於php+mysql開發的專案,供大家學習練習。

禪道專案管理軟體

蟬知企業門戶系統

然之協同辦公系統

zentaophp框架

我將自己學習php的過程分為八步:

1.確立目標:沒有目標的學習是不會有結果和效果的。

2.拆分任務:將目標分解成具體可執行的學習任務。

4.分配自身資源:合理分配時間精力,制定學習計畫。

5.勤學:強大的執行力是學習的根本保障。

6.建立知識體系:將學習的知識在腦海裡建立系統模型。

7.好問:避免孤立學習,但好問也要會問。

8.分享複述:檢驗學習成果,提高學習效果的最好方法。

乾貨 PHP就該這麼學!

前段時間和大家一起分享了一篇關於學習方法內容 大牛與搬運工的差距 學習方法的力量 我們將學習過程分成八步,並借鑑了敏捷開發的迭代思想,以達到自我迭代學習的效果。行勝於言,理論結合實踐才是王道,所以本文我將基於前面的學習方法,分享我是如何學習php的。最初接觸php時,是源於自己想學習 開發,由於是前...

《Linux就該這麼學》

本書是由全國多名紅帽架構師 rhca 基於最新linux系統共同編寫的高質量linux技術自學教程,極其適合用於linux技術入門教程或講課輔助教材,目前是國內最值得去讀的linux教材,也是最有價值的linux實驗手冊。章節包括有 第0章 咱們先來談談學習方法和紅帽系統。第1章 部署虛擬環境安裝l...

Linux就該這麼學

用於集中儲存linux使用者的資料資訊,如賬號密碼 使用者組 hosts檔案 services等等 etc passwd 提供使用者帳號 uid gid 家目錄所在 shell 等等 etc group 提供群組資料以及 gid 的對應,還有該群組的加入人員 etc hosts 主機名稱與ip的對應...