婷婷丁香视频-婷婷丁香四月-婷婷丁香五-婷婷丁香五月中文字幕-免费一级毛片在级播放-免费一级毛片在线观看

APPLET 小程序動(dòng)態(tài) 我們的作品,他們的故事
Our work, their stories
微信小程序商城開發(fā)構(gòu)建全棧應(yīng)用
發(fā)布人:龍兵科技 18-07-04
1-1:
AOP編程思想 
看書和實(shí)際編碼相輔相成。
1-2:
課程技術(shù)點(diǎn):
ThinkPHP5框架,后面三個(gè)字母都是大寫,  細(xì)節(jié) :iOS 首字母小寫,Android 首字母大寫。
MySQL  
微信
小程序   騰訊官方出的小程序作對(duì)比

1-3:
課程流程:
服務(wù)端    
客戶端   (客戶使用的)
CMS?   (產(chǎn)品的管理員使用的)
cms的功能總結(jié):1是基礎(chǔ)數(shù)據(jù)的增刪改查,2是特殊操作,比如發(fā)送微信消息

1-4:
三端分離概念:
以前的網(wǎng)站 CMS和后端是合起來的 ,當(dāng)時(shí)因?yàn)橐苿?dòng)端還沒有興起,
現(xiàn)在一般情況下cms也是客戶端,不要視為服務(wù)端 ,各個(gè)端開發(fā)。結(jié)構(gòu)清晰。

1-5:
實(shí)現(xiàn)通用的 結(jié)構(gòu)良好的產(chǎn)品,
三端分離,
基于REST API,
全稱:REST,全稱是Resource Representational State Transfer,即:資源在網(wǎng)絡(luò)中以某種形式進(jìn)行狀態(tài)轉(zhuǎn)移。
基于token令牌管理權(quán)限,分級(jí) (作用域),
一套架構(gòu)適配iOS,Android,小程序與單頁面,
使用ORM方式與數(shù)據(jù)庫交互,
用面向?qū)ο蟮姆绞綐?gòu)建前端 (ES6 )

1-6:
知識(shí)與技術(shù):
web框架核心知識(shí):路由,控制器,模型
驗(yàn)證器,讀取器,緩存,全局異常處理,
ORM:模型與關(guān)聯(lián)模型

1-7:
微信技術(shù)點(diǎn):微信小程序開放給個(gè)人。自己注冊(cè)一個(gè)。
微信登錄 
微信支付(預(yù)訂單,支付與回調(diào)通知處理)
微信模板消息(不能主動(dòng)向客戶推送消息,要在特定情況下才能觸發(fā))

1-8:
數(shù)據(jù)表設(shè)計(jì)
數(shù)據(jù)冗余的合理利用
事務(wù)與鎖在檢測(cè)庫存量中的應(yīng)用

1-9:
學(xué)習(xí)要求:
靜下心來,慢慢學(xué)習(xí)。
 

1-10:
前置知識(shí):
php與面向?qū)ο笙嚓P(guān)知識(shí)
thinkphp 框架的基礎(chǔ)知識(shí)
MYSQL數(shù)據(jù)庫的基本使用
小程序常用API
有一個(gè)小程序賬號(hào)

1-11:
泛化的web
web產(chǎn)品矩陣
公共服務(wù)(api)
要能寫出易維護(hù)的代碼,要讓代碼寫的美~
 

前端絕不等于做界面和特效,也要處理業(yè)務(wù)邏輯。

1-12:
依賴或者包管理:composer  (新手盡量少用)
TP5已經(jīng)為我們引入了很多插件,盡量少用到第三方,代碼侵入,不利于編程邏輯的培養(yǎng)。

1-13:
產(chǎn)品代碼會(huì)長期維護(hù)
知乎專欄:小樓昨夜又秋風(fēng)

2-1:
環(huán)境,開發(fā)工具
ThinkPHP 5.07 
MySQL
PHP 5.6
Apache/nginx
使用XAMPP(集成安裝包)
phpstrom
web開發(fā)者工具(VS Code 編寫前端代碼 更靈活)
Postman
Navicat

2-2:
安裝軟件

2-3:
安裝tp5 :composer   、git   、官網(wǎng)下載  
應(yīng)用項(xiàng)目
核心框架

2-4:
項(xiàng)目獨(dú)立命名

2-5:
phpstrom快捷使用方式:
setting->keymap
alt +r   最近文件   可篩選
alt  +左右鍵 切換打開的文件
con+shifr+n  搜索所有文件名字
整段注釋  con+shift+/
alt+e  代碼塊選中
新建文件   焦點(diǎn)放在左邊項(xiàng)目欄  alt+insert
類中不同的方法快速移動(dòng)   alt+上下箭頭 

2-6:
tp5層次結(jié)構(gòu):
入口文件 
應(yīng)用 包含模塊
模塊包含 mvc

2-7:
tp5自帶web服務(wù)器
下方的命令行工具 Terminal
先切換進(jìn)入public目錄下
命令:php  -S  localhost:8080   router.php  即可(注意端口號(hào)不要與已有的web服務(wù)器沖突)
可以在這里操作git

2-8:
phpstrom斷點(diǎn)調(diào)試 XDebug
安裝xdebug
配置phpstrom 
了解短點(diǎn)調(diào)試的幾個(gè)按鈕的作用




2-9:
PATH_INFO   URL路徑模式:http://servername/index.php/模塊/控制器/方法/參數(shù)
url可配置是否區(qū)分大小寫 
兼容模式:http://servername/index.php?s=模塊/控制器/方法/參數(shù)
缺點(diǎn):太長,會(huì)暴露服務(wù)器文件結(jié)構(gòu),不能很好支持url語義化
使用路由解決以上缺點(diǎn)。


3-1:
命名空間:自動(dòng)在新建類的時(shí)候生成,setting->directories  將application定義別名app即可。

3-2:
配置虛擬域名,簡化URL路徑。
首先 配置虛擬主機(jī),
配置虛擬主機(jī)的小技巧:使用apache,在虛擬主機(jī)配置文件中,先將localhost配置為一個(gè)虛擬主機(jī),否則,當(dāng)你配置一個(gè)虛擬主機(jī)的時(shí)候,訪問localhost就是去訪問你配置的那個(gè)虛擬主機(jī)的路徑。
 

3-3:
安裝postman:
將postman的收藏功能用起來,輸入網(wǎng)址很麻煩。

3-4:
三種URL訪問模式:path_info  ,  混合,強(qiáng)制。
路由:route.php文件中編寫
配置式,
動(dòng)態(tài)注冊(cè),think/route類 rule方法 一旦定義路由  原有的path_info失效。
配置中,可混合,可強(qiáng)制。

3-5:
定義路由:
Route:rule()方法的完整參數(shù)使用:(路由表達(dá)式,路由地址,請(qǐng)求類型,路由參數(shù),變量規(guī)則)
請(qǐng)求類型 缺省 是 *,全部的請(qǐng)求類型。
有簡化的寫法:
Route:get(路由表達(dá)式,路由地址) ,方法有g(shù)et,post,put,delete

3-6:
獲取請(qǐng)求參數(shù):
在路由定義里面/:id
在url里面,?name=xxx,
在post的body體里面,
Request類 實(shí)例化 instance,param()所有方法傳過來的參數(shù),get(),post()
當(dāng)使用get()獲取參數(shù)時(shí),只能獲取到?后面的參數(shù),獲取不到路由里面的參數(shù),
就要使用到route()方法。
助手函數(shù),input('param.')
依賴注入:在方法名中index(Request  $request) 在方法里面就可以用了。

3-7:
產(chǎn)品功能講解與分析:
項(xiàng)目:零食商販

3-8:
Vavicat安裝以及數(shù)據(jù)庫初步設(shè)計(jì):
傾向于不用外鍵約束,

4-1:
Banner(輪播圖)數(shù)據(jù)表設(shè)計(jì)分析:
有兩張圖 banner,banner_item

4-2:
Banner接口
方法:根據(jù)id獲取banner
指明路由和方法,

4-3:
validate 獨(dú)立驗(yàn)證
內(nèi)置規(guī)則,可自定義驗(yàn)證過則。
new  Validate(規(guī)則)
->batch()
->check(數(shù)據(jù))
->getError()
但是這種獨(dú)立驗(yàn)證的封裝性沒有驗(yàn)證器好,以后大多數(shù)情況下都使用驗(yàn)證器。

4-4:
驗(yàn)證器
區(qū)別 對(duì)規(guī)則做了更好的封裝
新建validate文件夾   類   屬性 rules    使用:new  驗(yàn)證類

4-5:
項(xiàng)目結(jié)構(gòu)體系詳解:
客戶端:cms   和小程序  登錄就是獲取令牌的過程  重點(diǎn)
小程序 和微信服務(wù)器  以及 我們自己的服務(wù)器交互
服務(wù)端;校驗(yàn)參數(shù)->controller  ->model/service/logic ->核心框架  異常處理 
注意:service  和  model層之間的關(guān)系    最好能靈活的同級(jí) 
小程序的緩存
restful api  

4-6:
自定義驗(yàn)證規(guī)則:
getBanenrByID  
參數(shù) id正整數(shù) 
 自己寫(發(fā)生錯(cuò)誤,新建文件夾的時(shí)候,把順序搞混了,導(dǎo)致接口訪問不到!一定要注意)

4-7:
構(gòu)建接口參數(shù)校驗(yàn)層:
上一節(jié) 的  也不夠精簡  復(fù)用性不高。
baseValidate基類。
goCheck   獲取參數(shù)  做校驗(yàn)
攔截器    先使用tp5的默認(rèn)異常 
自己寫  沒什么問題

5-1:
REST之前的重要協(xié)議:SOAP
soap 重   使用xml描述數(shù)據(jù) 前端調(diào)接口的時(shí)候   流程復(fù)雜  網(wǎng)站后臺(tái)轉(zhuǎn)發(fā)調(diào)用  

5-2:
restful  api 特點(diǎn)解析:
api基于rest理論設(shè)計(jì)
通常來說  json來描述數(shù)據(jù)   
無狀態(tài) ,每次請(qǐng)求不依賴其他接口
基于資源, 使用Http動(dòng)詞來操作資源
傳統(tǒng):區(qū)分使用get或者post 是根據(jù)參數(shù)簡單與否來區(qū)分,現(xiàn)在:根據(jù)動(dòng)作來區(qū)分
eg:刪除操作使用delete ,新增操作使用post ,獲取操作使用get,更新使用put.
接口名稱的定義   盡量用名詞而不是動(dòng)詞 。eg:movie/id  而不是:getMovie/id.

5-3:
RESTFul  API 最佳實(shí)踐:
每次http請(qǐng)求都應(yīng)該響應(yīng)一個(gè)狀態(tài)碼,錯(cuò)誤碼(自定義 :有文檔 ,可查找)和 統(tǒng)一描述錯(cuò)誤
狀態(tài)碼:
404  資源沒找到
400  參數(shù)錯(cuò)誤
200  get查詢資源成功
201  post創(chuàng)建資源成功
202  put更新成功了(有些設(shè)置為請(qǐng)求未響應(yīng))
401 無權(quán)限
403  禁止訪問
500 服務(wù)器未知錯(cuò)誤 。
統(tǒng)一錯(cuò)誤描述信息:錯(cuò)誤碼,錯(cuò)誤信息,當(dāng)前url.
使用token令牌來授權(quán)和驗(yàn)證身份,
傳統(tǒng)web用session和cookie,和token比較,token自己的服務(wù)器存儲(chǔ)管理,靈活。
版本控制。
詳細(xì)文檔。

5-4:
如何學(xué)習(xí)RESTFul  API。
模仿:豆瓣開放api ,github開發(fā)者api
合理使用,切勿盲目照搬標(biāo)磚REST,因?yàn)槲覀兠嫦虻氖莾?nèi)部人員

6-1:
正確理解異常處理流程:
類同名的情況下別名,
異常層級(jí)關(guān)系  ->全局異常處理AOP  

6-2:
固有的處理異常的思維方式和流程:
現(xiàn)在有個(gè)服務(wù)器錯(cuò)誤,假如1/0,拋出異常  狀態(tài)碼 400

6-3:
異常的分類:
兩類:
由于用戶行為導(dǎo)致的異常  ,比如參數(shù)輸入錯(cuò)誤 導(dǎo)致沒有查詢到數(shù)據(jù) ,有的返回一個(gè)空數(shù)組,并不當(dāng)成異常,有的 返回一個(gè)自定義的異常碼。
不需要記錄日志 ,
需要向用戶返回具體的錯(cuò)誤信息。
第二就是服務(wù)器自身異常,記錄日志,不向客戶返回具體原因。

6-4:
實(shí)現(xiàn)自定義全局異常處理:
新建exception文件夾,
覆蓋和重寫,
三個(gè)類
config    要配置

6-5:
實(shí)現(xiàn)已定義全局異常處理 下
render()方法要處理兩種不同的異常,
新建文件記錄錯(cuò)誤碼
測(cè)試兩個(gè)異常!

6-6:
日志系統(tǒng):
先關(guān)掉tp5的自動(dòng)日志記錄 ,太多,
有選擇的記錄日志,

6-7:
在全局異常處理中加入日志記錄,
私有方法,記錄日志,
手動(dòng)初始化日志,然后記錄日志

6-8:
全局異常處理應(yīng)用 上:
對(duì)于客戶端開發(fā)人員  json格式比較好,
對(duì)于服務(wù)端開發(fā)人員 網(wǎng)頁格式比較好
需要一個(gè)開關(guān),
還原父類的render()方法,
配置文件,助手函數(shù)
完善goCheck()拋出的異常 定義一個(gè)新的自定義異常

6-9:
全局異常處理的應(yīng)用 中:
構(gòu)造函數(shù) 對(duì)成員變量操作 可選參數(shù)賦值  異常類

6-10:
全局異常處理的應(yīng)用 下:
驗(yàn)證器 需要驗(yàn)證多個(gè)參數(shù)的時(shí)候
batch()方法

6-11:
小結(jié)與AOP思想:面向切面

我有話說
聯(lián)系我們
掃二微碼
主站蜘蛛池模板: 亚洲国产视频在线 | 久久er热视频在这里精品 | 久久久久久久国产精品毛片 | 青青热在线精品视频免费 | 免费人成观看在线网 | 国产一级视频久久 | 精品国产免费人成在线观看 | 免费一级毛片在线播放视频 | 欧美性色黄在线视 | 中文字幕日韩有码 | 毛片免费在线视频 | 精品在线播放 | 免费观看一级成人毛片 | 国产一区二区中文字幕 | 视频一区视频二区在线观看 | 亚洲综合日韩欧美一区二区三 | 久久在线一区 | 国产日韩欧美精品 | 手机免费黄色网址 | 国产亚洲精品一品区99热 | 久久精品国产精品亚洲艾 | 高清一区在线 | 免费看日韩欧美一级毛片 | 香港三级88久久经典 | 日韩a一级欧美一级 | 一级一片一a一片 | 久久久午夜精品理论片 | 黄色片免费网址 | 久久久久久国产视频 | 久久久久久网站 | 万全影院亚洲影院理论片 | 国产片在线观看狂喷潮bt天堂 | 成人免费观看视频久爱网 | 在线中文字幕精品第5页 | 日韩一级欧美一级一级国产 | 日韩欧美印度一级毛片 | 一级欧美激情毛片 | 亚洲专区在线 | 国产三级在线免费观看 | 亚洲毛片免费观看 | 精品成人久久 |