網(wǎng)站開發(fā)屬于web
領(lǐng)域,現(xiàn)在很多是
PHP
的方式開發(fā)領(lǐng)域。其內(nèi)容很廣泛。對(duì)于新手來(lái)說(shuō),按什么順序來(lái)學(xué),才更容易
入門php
呢?
首先來(lái)看PHP整個(gè)體系的內(nèi)容劃分,然后根據(jù)這些總結(jié)一下學(xué)習(xí)順序和路線。
從橫向上來(lái)看,當(dāng)用瀏覽器打開某個(gè)php
頁(yè)面的時(shí)候就牽涉到了如下東西:
前端就有html,css,js
。在
js
基礎(chǔ)上封裝出了
jquery
庫(kù)。在
js
和
jquery
庫(kù)上又封裝出了新的插件,如:
bootstrap,amaze,layer,
富文本編輯器等。然后就到了
PHP
部分,在這里需要存儲(chǔ)動(dòng)態(tài)數(shù)據(jù),必然要數(shù)據(jù)庫(kù)了。數(shù)據(jù)庫(kù)又牽扯出關(guān)系型數(shù)據(jù)庫(kù),如:
mssql
,
mysql
,
sqlite
,
db2
等等和非關(guān)系型數(shù)據(jù)庫(kù),如:
Redis,MongDB
,圖數(shù)據(jù)庫(kù)等。一個(gè)
web
系統(tǒng)是需要服務(wù)器支撐的,通常都會(huì)選擇
linux
服務(wù)器。
從縱向上來(lái)看,單就PHP
方向就有
php
的各種基礎(chǔ),如:變量的定義,函數(shù)的使用,函數(shù)庫(kù)。類的抽象、封裝、繼承、多態(tài)、接口。再往下走就有編程模式,如:
MVC
,工廠模式。從安全性還牽扯出單入口。前后端分離的模板解析引擎,如:
Smarty
,以及其他框架和系統(tǒng)各自的模板解析引擎。
從綜合上來(lái)看:
1:功能上來(lái)分
,有登錄模塊,注冊(cè)模塊,后臺(tái)模塊,文章模塊,商品模塊,備份還原模塊,安裝模塊,無(wú)限極分類模塊等。
2:從應(yīng)用上來(lái)看
,有各種第三方接口,如:QQ
登錄接口,支付接口,手機(jī)短信接口,身份證驗(yàn)證接口等等。
3:從實(shí)際開發(fā)項(xiàng)目上來(lái)看
,PHP
又衍生出很多的框架,如:
Laravel,TP,YII,CI
,以及開源系統(tǒng),如:
PHPCMS,Discuz,Ecshop
。到你開發(fā)項(xiàng)目的時(shí)候,自然就會(huì)有很多種選擇了。如直接原生態(tài)采用面向過(guò)程的方式開發(fā),如基于某個(gè)框架開發(fā),如用開源系統(tǒng)開發(fā)。比如要做個(gè)論壇,很多人選擇的是
Discuz
開發(fā),但是使用了幾個(gè)月,發(fā)現(xiàn)要開發(fā)一個(gè)新的功能模塊(
Discuz
里面沒(méi)有的)就要面對(duì)
298
張數(shù)據(jù)表,頭開始大了。
4:從項(xiàng)目?jī)?yōu)化上來(lái)看有
:負(fù)載均衡、集群、大數(shù)據(jù)處理。
那么,面對(duì)這么多的內(nèi)容,到底怎么學(xué)才好呢?學(xué)習(xí)順序應(yīng)該怎樣才更好?q
我根據(jù)經(jīng)驗(yàn)總結(jié)一下這樣的學(xué)習(xí)順序:
1:首先是前端;
雖然你是做PHP
的,但是前端必須會(huì)。學(xué)前端方向的則更要精通了??傊岸伺懿坏?。前端的學(xué)習(xí)順序這樣:先
html,css
。不要很深入,如:
h5,css3
可以暫時(shí)放一下。然后進(jìn)入
js
入門。接著
jquery
。然后
html,css,js,jquery
都會(huì)了之后再弄一些前端框架,如:
bootstrap,amaze
。最后是
h5,css32,
。
2:前端和后端是一起學(xué)的
,到了php
這邊。要從基礎(chǔ)學(xué)起,然后是它涉及的編程思想。然后是數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)一開始不要學(xué)難的內(nèi)容,如
SQL
優(yōu)化,索引優(yōu)化,主從復(fù)制這些。會(huì)基本的增刪改查就行。
此時(shí),前后端一起來(lái)做個(gè)小項(xiàng)目(基于數(shù)據(jù)庫(kù)的對(duì)某個(gè)實(shí)體如書籍的增刪改查的小功能模塊),很多時(shí)候一個(gè)項(xiàng)目看似很復(fù)雜,其實(shí)數(shù)據(jù)表沒(méi)多少?gòu)垼芏嗍窃?/span>PHP
程序這邊。當(dāng)然數(shù)據(jù)表很多的那種,項(xiàng)目也不會(huì)簡(jiǎn)單起來(lái);
3:開發(fā)了一個(gè)小系統(tǒng)之后,就可以學(xué)框架
,然后學(xué)著用框架來(lái)繼續(xù)改進(jìn)這個(gè)小項(xiàng)目。
4:學(xué)開源系統(tǒng),用開源系統(tǒng)來(lái)改進(jìn)這個(gè)系統(tǒng)。
到這里你就知道項(xiàng)目開發(fā)的選擇方案了,此時(shí)你已經(jīng)把項(xiàng)目開發(fā)方案決策的內(nèi)容學(xué)會(huì)了。用你認(rèn)為最佳的方案來(lái)開發(fā)一個(gè)具有實(shí)際意義的項(xiàng)目并運(yùn)營(yíng)起來(lái),并試著推廣,來(lái)你系統(tǒng)中注冊(cè)的會(huì)員會(huì)給你提各種需求。你自然會(huì)發(fā)現(xiàn)你還需要學(xué)的那些東西是什么了,如:注冊(cè)功能,如登錄功能,如QQ
登錄等,如:支付寶支付、微信支付等。如:更好的備份還原功能,方便的安裝功能。當(dāng)你的項(xiàng)目運(yùn)營(yíng)的不錯(cuò)了,會(huì)員自然越來(lái)越多,各種數(shù)據(jù)也會(huì)增多,你的項(xiàng)目會(huì)越來(lái)越慢,此時(shí)你再來(lái)關(guān)注數(shù)據(jù)庫(kù)的優(yōu)化,以及負(fù)載均衡,大數(shù)據(jù)這些。
用實(shí)際項(xiàng)目的需求和會(huì)員的各種需求去刺激你學(xué)還沒(méi)學(xué)的東西,這里就會(huì)感覺到越來(lái)越有的放矢了。
所以,一個(gè)新手千萬(wàn)不要一來(lái)就用開源系統(tǒng)去開發(fā)項(xiàng)目,雖然開發(fā)出來(lái)了,但是后遺癥在后面,而且很大很多。還是要從基礎(chǔ)做起,并按一定的學(xué)習(xí)順序去學(xué)習(xí),否則效率很低下,經(jīng)常感覺學(xué)了很久,看似什么都接觸了,但是一到開發(fā)項(xiàng)目的時(shí)候就是一頭霧水、無(wú)從下手。丟了的東西遲早是要補(bǔ)回來(lái)的。錯(cuò)誤的學(xué)習(xí)順序會(huì)讓你事倍功半。甚至?xí)屇愦虻阑馗?/span>......
來(lái)源:簡(jiǎn)書