2.基礎(chǔ)原理
運(yùn)行流程
想要學(xué)習(xí)Web開(kāi)發(fā),先明確網(wǎng)站的基本運(yùn)行流程,是個(gè)怎么回事暗赶,簡(jiǎn)單說(shuō)就是用戶交互和數(shù)據(jù)處理,用戶交互就是你得有個(gè)界面得展示得用戶看肃叶,用戶能夠點(diǎn)擊鼠標(biāo)各種操作蹂随,并且用戶操作完了返回一個(gè)結(jié)果展示給用戶看。數(shù)據(jù)處理就是服務(wù)器上處理用戶的這個(gè)操作并且返回一個(gè)正確的數(shù)據(jù)給用戶因惭。
以各種網(wǎng)站登錄為例岳锁,一開(kāi)始展示給用戶一個(gè)登錄界面,有用戶名密碼輸入框蹦魔,這就是前端界面html css激率,用戶輸入完成后咳燕,點(diǎn)擊登錄按鈕,這個(gè)之后的是前端交互js乒躺,就是把用戶輸入的這個(gè)用戶名密碼取出來(lái)招盲,發(fā)送請(qǐng)求到服務(wù)器后端php,后端php要檢查嘉冒,看看用戶名密碼是不是輸對(duì)了曹货,要去數(shù)據(jù)庫(kù)mysql(就是存各種數(shù)據(jù)的地方),查找用戶名密碼是不是正確讳推。如果查了下發(fā)現(xiàn)用戶輸對(duì)了顶籽,得給用戶說(shuō)登錄成功了,后端就得返回給前端結(jié)果數(shù)據(jù)银觅,彈出來(lái)一個(gè)提示框礼饱,恭喜你登錄成功。
然后用戶又開(kāi)始了其他操作设拟,比如輸入商品名慨仿,點(diǎn)擊查找,又是這么一個(gè)流程纳胧,用戶每一個(gè)操作镰吆,都是這么個(gè)過(guò)程,思考思考你平時(shí)玩的app或者網(wǎng)站跑慕,你的每一個(gè)操作万皿,是不是這么回事。
就是這么個(gè)流程
核心技術(shù)
所以一個(gè)網(wǎng)站項(xiàng)目或者小程序等項(xiàng)目核行,通常包含三個(gè)核心部分牢硅,也就是要掌握的關(guān)鍵開(kāi)發(fā)技術(shù)
前端
1.界面
html是一個(gè)網(wǎng)站界面的結(jié)構(gòu),相當(dāng)于人的身體芝雪,這一塊是頭head减余,那一塊是身體body
css是修飾網(wǎng)頁(yè)界面的,是不是好看惩系,好比人的衣服位岔,這一塊什么顏色,這個(gè)衣服多大
2.交互
JavaScript(js)用來(lái)處理交互的堡牡,比如用戶點(diǎn)擊了網(wǎng)頁(yè)上的一個(gè)登錄按鈕抒抬,這個(gè)點(diǎn)擊的動(dòng)作,就是一個(gè)事件晤柄,這叫點(diǎn)擊事件click擦剑,點(diǎn)了登錄之后,是不是得獲取用戶輸入的用戶名密碼,然后比如通過(guò)ajax發(fā)送請(qǐng)求(post惠勒、get請(qǐng)求方式) 發(fā)給后端去檢查赚抡。這個(gè)數(shù)據(jù)一般會(huì)有一個(gè)統(tǒng)一的格式,就是json捉撮,前端發(fā)送json怕品,后端接收json數(shù)據(jù)處理完再返回妇垢。這個(gè)過(guò)程巾遭,就是前后端交互
js發(fā)展,最開(kāi)始是原生js闯估,后面發(fā)現(xiàn)有的操作麻煩灼舍,搞出來(lái)一個(gè)jquery,封裝了一些函數(shù)涨薪,原生js寫好幾行骑素,用jq一個(gè)函數(shù)就搞定。現(xiàn)在出現(xiàn)了Vue刚夺、react之類的各種新技術(shù)献丑,因?yàn)閖q還是有些地方操作麻煩,比如你要獲取網(wǎng)頁(yè)上的一個(gè)輸入框的數(shù)據(jù)侠姑,可能要操作很多次來(lái)取到這個(gè)數(shù)據(jù)很麻煩创橄。
現(xiàn)在的新項(xiàng)目大多也是用Vue之類的做了,小程序的那一套也是類似與Vue莽红。還有一些舊項(xiàng)目還在用jquery
后端
以php為主妥畏,因?yàn)楹蒙鲜郑苓m合快速入門的新手學(xué)習(xí)安吁。
1.處理請(qǐng)求
后端收到前端發(fā)來(lái)的請(qǐng)求(post醉蚁、get等方式),(請(qǐng)求就是傳遞消息的一個(gè)過(guò)程鬼店,相當(dāng)于打電話發(fā)短信网棍,不同方式不同的形式傳遞信息,常用post和get方式 ) 妇智,比如發(fā)過(guò)來(lái)用戶密碼滥玷,要登錄了,收到這個(gè)用戶名密碼數(shù)據(jù)俘陷,然后調(diào)用數(shù)據(jù)庫(kù)查詢罗捎,查出來(lái)結(jié)果 return返回 給前端
2.數(shù)據(jù)庫(kù)操作
核心四個(gè)字,增刪改查
增加數(shù)據(jù)
刪除數(shù)據(jù)
修改數(shù)據(jù)
查數(shù)據(jù)
你想想你得任何一個(gè)操作拉盾,不都是增刪改查嗎
你逛淘寶桨菜,點(diǎn)開(kāi)一個(gè)商品,是不是查詢商品詳情數(shù)據(jù)
你覺(jué)得好添加到購(gòu)物車,是不是增加數(shù)據(jù)倒得,把這個(gè)商品增加到你的購(gòu)物車表
3.后端框架
php框架泻红,典型的thinkphp3 5,laravel霞掺,yii2
什么是框架谊路,開(kāi)發(fā)框架就是簡(jiǎn)化操作,并且封裝好基本功能的一個(gè)開(kāi)發(fā)工具菩彬,常見(jiàn)的基礎(chǔ)功能請(qǐng)求處理缠劝,數(shù)據(jù)庫(kù)操作等功能都給你封裝好,你按照框架手冊(cè)指導(dǎo)就可以使用骗灶。在框架基礎(chǔ)上惨恭,你可以擴(kuò)展你的功能需求。
框架干的也是處理請(qǐng)求耙旦,操作數(shù)據(jù)庫(kù)這個(gè)事脱羡,只是方便你開(kāi)發(fā)的一個(gè)工具
數(shù)據(jù)庫(kù)
以mysql為主,常見(jiàn)
數(shù)據(jù)庫(kù)就是存數(shù)據(jù)的地方免都,一個(gè)小網(wǎng)站通常一個(gè)數(shù)據(jù)庫(kù)锉罐,一個(gè)數(shù)據(jù)庫(kù)有好幾張表,不同表結(jié)構(gòu)不一樣绕娘。這個(gè)表是干什么的脓规,表就是同類數(shù)據(jù)的整合,一個(gè)表里面很多條數(shù)據(jù)业舍,就像excel表格抖拦,工資表,比如一行就是一個(gè)人的工資信息舷暮。為什么分表态罪,你想不同數(shù)據(jù)肯定結(jié)構(gòu)是不一樣的,比如網(wǎng)站用戶信息下面,都存在用戶表复颈,這里都是用戶的信息,用戶名密碼這些沥割,這個(gè)結(jié)構(gòu)耗啦,就是字段,用戶名是個(gè)字段机杜,密碼是一個(gè)字段帜讲。