您現在的位置是:首頁 > PHP學習

李清波 2019-07-11 PHP學習 236

PHP全棧開發工程師學習路線圖

前端和后端各是一門技術與學科,所以真正的WEB開發學習的態度應該是鉆研一門技術,這也是企業需要的,全棧的稱謂在這個時代,已經逐漸被企業所唾棄(小公司除外,小公司不僅要求你會前端還要會PHP,甚至美工也交給你,他們以為你是全才)!


如果你想從事前端開發工程師,建議不要學PHP,把前端精通即可;

如果你想從事PHP網站開發,那前端是必須要學的,可以不深入學習,只要會簡單的前端布局即可,重點放在PHP編程上!


那學PHP和前端有什么關系呢?又該從哪里開始學起呢?先給大家一張圖,讓大家先有個感性上的認識!


微信圖片_20190619163203.jpg

一. 前端和后端的關系

1、橫向分類

前端:HTML、CSS、JavaScript

后端:PHP、MySQL


2、責任分類

HTML:負責網頁結構部分

CSS:負責網頁布局與樣式部分

JavaScript:負責網頁程序邏輯、動態渲染與特效部分

PHP:負責服務端邏輯與數據庫操作部分

MySQL:負責數據存儲部分


3、學習技術與人的類比

01、首先,人要有一個基本的組成(頭、身體、胳膊、手、腿、腳)

-> 學習HTML

02、其次,人要有一個所有組成部分的有序組合和著裝(將各部分組成一個身體并穿上衣服)

-> 學習CSS

03、再其次,人需要有一些邏輯思維來支撐人的活動能力(吃飯、睡覺、運動等)

-> 學習JavaScript

04、再次,人需要有動腦思考問題的能力(比如學習、解決問題、道德行為等)

-> 學習PHP

05、最后,人需要一些知識、信息的儲備來武裝自己成為一個有能力、有素養的人

-> 學習MySQL


二. PHP全棧開發工程師學習順序

基本的學習順序:HTML/CSS -> JavaScript -> PHP/MySQL


1、HTML/CSS在一個階段學習:結構和樣式必須一起學,才有直觀感。

PS:總得先弄清楚HTML基本的標簽吧!

也少不了學完后,做個京東淘寶首屏,我不會做!

摳破腦袋,給我摩出來,這是必經之路。

抱歉!給你壓力了!


2、JavaScript單獨學習:(傷不起的前端在此刻出現)

JavaScript是一個很難的語言!!

再成熟、再牛X的前端工程師也會說同樣的話。原因是因為它十分靈活。

怎么寫好像都對,但你就是不知道怎么寫。有同樣的感覺吧?

他,分為三個部分:

01、ECMAScript

懂行的都知道ECMAScript對于初學者來說,是最難的部分,什么作用域、什么原型原型鏈、什么閉包、什么對象數組一大堆東西。如果你在學習JavaScript時,覺得特簡單,對不起,我只能建議你重新學習。學習ECMAScript周期最長。

02、DOM

DOM也不簡單,因為.......內容也非常多,什么遍歷樹、什么節點、什么元素、一大堆兼容性封裝,什么冒泡捕獲事件代理、什么鼠標鍵盤行為、什么拖拽、什么鼠標行為預測、什么雙擊單擊 一大堆封裝、什么DOM事件處理函數邏輯、一大堆案例等著你做。

03、BOM

BOM相對簡單,需要掌握的不多,強調一下,不是沒用,是兼容性不好,畢竟是孤兒,沒有規范,所以就只能將就用一下,但你也不能忽略他其中的單頁面應用的學習。


3、PHP和MySQL一起學

PHP的基本語法搞懂以后,你可能想做點啥。

那你就得折騰一下數據了,沒有數據就沒有項目,你懂的。


三. 總結

其實現在全棧技術還是有必要都學習一下,不管你的專攻是前端還是后端,你們都要相互配合,在不了解對方的工作情況下,或者說不知道對方在做什么功能怎么去實現的時候,很多工作都比較被動,也就是別人要什么,或者別人要你做什么,你就老老實實的做就行了。但我們懂得全棧之后又是另外一種做事方式了,隨說不是讓你一個人自己把真個項目做完,但至少在開發的時候,你知道整個項目流程和邏輯,你可以很好的配合對方把一些需要先完成的,反正很多方便之處,這里我就不一一舉例了。


術業有專攻,時間花在前端技術鉆研上,你后端的能力肯定會遜色,反之亦然。不要說有很多精力學習,單獨一個前端或后端就夠學上個好歹(這里不敢瞎說時間)。

初學者為了完成一個完整的項目,會快速學習前后端所有己需的技術點,但無論前端還是后端,都是一門技術。


首先,任何開發者的開發技術的成熟都依賴的堅實的理論基礎和業務經驗,所以往往自學的開發者很難勝任企業的開發任務,任何企業都需要易讀、易維護、易擴展、并且科學的項目架構和代碼,而往往缺乏理論基礎和業務指導的學習者,很難將項目的開發做到以上的要求,這也就出現了自學成才的初學者始終都處在『全棧自嗨』的狀況中。而殊不知全棧的感念誤導了自己,變成一個非職業、非專業的代碼生產者。

其次,缺乏扎實的理論基礎的學習者,很難理解更加高深的技術點,比如函數式編程中的柯里化、偏函數、ECMAScript中的原型、閉包、圣杯模式等等,這就阻礙了學習者進一步提升開發能力的步伐。

一個成熟的工程師,絕不敢說自己的全棧工程師,因為自己心里清楚,我的技術門類是前端,前端我是專業的,就算我確實會寫PHP、Java,我也不敢說我精通或者我也可以承擔后端的工作,這是一個工程師的態度,所謂術業有專攻嘛。


評論