-
1 # 科技行者
-
2 # 黑馬程式設計師
如何成為PHP大牛,只能說需要努力,努力,在努力。
現今PHP開發工程師的身價還是不錯的,北京PHP平均工資:¥17100/月,取自23933份樣本。
PHP工資PHP應用領域PHP作為非常優秀的、簡便的Web開發語言,和Linux、Apache、MySQL緊密結合,形成LAMP的開源黃金組合,不僅降低使用成本,還提升了開發速度,滿足最新的互動式網路開發的應用,這使得PHP軟體工程師成為一個發展迅速的職業。PHP作為免費開原始碼的網站開發技術,相對入職門檻較低,有一定的英文和數學功底即可以學習而且能夠順利上崗。
第一階段:第二階段:第三階段:第四階段:第五階段: -
3 # 慕課網
前段時間和大家一起分享了一篇關於學習方法內容《大牛與搬運工的差距——學習方法的力量》。我們將學習過程分成八步,並借鑑了敏捷開發的迭代思想,以達到自我迭代學習的效果。行勝於言,理論結合實踐才是王道,所以本文我將基於前面的學習方法,分享我是如何學習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的過程分為八步:
1.確立目標:沒有目標的學習是不會有結果和效果的。
2.拆分任務:將目標分解成具體可執行的學習任務。
3.蒐集知識資源:查閱官方文件、購買書籍、蒐集網路乾貨文章。
4.分配自身資源:合理分配時間精力,制定學習計劃。
5.勤學:強大的執行力是學習的根本保障。
6.建立知識體系:將學習的知識在腦海裡建立系統模型。
7.好問:避免孤立學習,但好問也要會問。
8.分享複述:檢驗學習成果,提高學習效果的最好方法。
連結:http://www.imooc.com/article/68094
-
4 # 程式設計字典
學習沒有什麼捷徑。學完工作中用到提升的最快。
PHP函式:http://codingdict.com/article/7831
-
5 # 有點IT
一般做PHP兩到三年後都會遇到一個瓶頸期,想對自己技術做進一步提高,卻苦於找不到合適的方向。
下面提供幾個方面的建議:
1、學習程式架構方面的知識,理解設計模式並能夠根據實際場景進行應用。可以閱讀以下成熟框架的原始碼,理解其中的設計邏輯。
2、建議學習一下 swoole 相關知識,可以提升對非同步IO、阻塞非阻塞、程序協程等方面的理解。也可以學習到很多linux伺服器程式設計的知識。也會回改變你對PHP的傳統認知。
3、學習高併發場景的解決方案。由於公司業務或者自身技術等各方面原因可能很多人實際工作中不會遇到高併發業務場景,但一定要去學習這方面的知識,瞭解各個業務場景下的問題和處理方案,以及應用到的工具中介軟體等。比如Redis(NoSQL),Kafka、RQ(訊息佇列),Solr,ES(搜尋)等。
4、如果有一定基礎還是要了解一下PHP底層的實現原理,瞭解一下PHP記憶體管理方面的知識,對你以後辦成有一定幫助。幫助你從記憶體和演算法複雜度層面理解和最佳化PHP程式碼。
個人見解、水平有限,如有偏頗望多批評!
-
6 # 不會修電腦的技術宅
函式記不住不是啥大問題,但常用的應該能記得住吧,如果常用的記不住就就該受批評了,總不能不管啥函式都區百度或者查手冊吧。
-
7 # 江西新華然然子
課程:MySQL資料庫的建立、修改及刪除;資料表的建立、修改及刪除;無限分類的資料表設計;記錄的插入、更新、刪除及查詢;外來鍵與連線;索引;儲存過程,觸發器,遊標;事務處理;資料庫引擎詳解;資料庫叢集,資料庫讀寫分離、類與物件,類的定義;屬性與方法;$this關鍵字、 self關鍵字;繼承,多型;魔術方法;抽象類與介面;設計模式;PDO類;JpGraph圖表,FusionCharts圖表;PHP高階應用(Smarty模板、PHP框架技術)等。
回覆列表
php入門很簡單,能實現功能固然很重要,但是更重要的是能否做好php專案開發的整體架構和程式設計思想,這個才是更應該需要學習和深思的。
市面上有好多php的框架,你可以瞭解一下,程式碼結構為啥拆分如何的細,如果你不瞭解其中的體系結構,你能找半天程式碼。
仔細想想為啥別人能寫,而我們卻寫不了這些,是我們函式沒背熟嘛,函式不知道如何寫嘛,答案肯定不是,想想之前寫過的那麼多行程式碼,是不是隻是為 了做功能實現,或者利用其它語言實現。
想要把架構做好,可以借鑑,可以多看書,但是更多的是要在實戰中掌握;反過來講如果想做php大神級的人物,你需要了解php最底層的開發了,比如php的某個函式是如何透過核心呼叫實現了,如何利用指標把php函式的處理效率提高,這樣你需要學習更多的程式語言了。
路漫漫其修遠兮,希望你能距你的目標更進一步。