<tfoot id="ywk22"></tfoot>
<abbr id="ywk22"><sup id="ywk22"></sup></abbr>

  • <ul id="ywk22"></ul>
  • APPLET 小程序動態 我們的作品,他們的故事
    Our work, their stories
    微信小程序商城開發構建全棧應用
    發布人:龍兵科技 18-07-04
    1-1:
    AOP編程思想 
    看書和實際編碼相輔相成。
    1-2:
    課程技術點:
    ThinkPHP5框架,后面三個字母都是大寫,  細節 :iOS 首字母小寫,Android 首字母大寫。
    MySQL  
    微信
    小程序   騰訊官方出的小程序作對比

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

    1-4:
    三端分離概念:
    以前的網站 CMS和后端是合起來的 ,當時因為移動端還沒有興起,
    現在一般情況下cms也是客戶端,不要視為服務端 ,各個端開發。結構清晰。

    1-5:
    實現通用的 結構良好的產品,
    三端分離,
    基于REST API,
    全稱:REST,全稱是Resource Representational State Transfer,即:資源在網絡中以某種形式進行狀態轉移。
    基于token令牌管理權限,分級 (作用域),
    一套架構適配iOS,Android,小程序與單頁面,
    使用ORM方式與數據庫交互,
    用面向對象的方式構建前端 (ES6 )

    1-6:
    知識與技術:
    web框架核心知識:路由,控制器,模型
    驗證器,讀取器,緩存,全局異常處理,
    ORM:模型與關聯模型

    1-7:
    微信技術點:微信小程序開放給個人。自己注冊一個。
    微信登錄 
    微信支付(預訂單,支付與回調通知處理)
    微信模板消息(不能主動向客戶推送消息,要在特定情況下才能觸發)

    1-8:
    數據表設計
    數據冗余的合理利用
    事務與鎖在檢測庫存量中的應用

    1-9:
    學習要求:
    靜下心來,慢慢學習。
     

    1-10:
    前置知識:
    php與面向對象相關知識
    thinkphp 框架的基礎知識
    MYSQL數據庫的基本使用
    小程序常用API
    有一個小程序賬號

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

    前端絕不等于做界面和特效,也要處理業務邏輯。

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

    1-13:
    產品代碼會長期維護
    知乎專欄:小樓昨夜又秋風

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

    2-2:
    安裝軟件

    2-3:
    安裝tp5 :composer   、git   、官網下載  
    應用項目
    核心框架

    2-4:
    項目獨立命名

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

    2-6:
    tp5層次結構:
    入口文件 
    應用 包含模塊
    模塊包含 mvc

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

    2-8:
    phpstrom斷點調試 XDebug
    安裝xdebug
    配置phpstrom 
    了解短點調試的幾個按鈕的作用




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


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

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

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

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

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

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

    3-7:
    產品功能講解與分析:
    項目:零食商販

    3-8:
    Vavicat安裝以及數據庫初步設計:
    傾向于不用外鍵約束,

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

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

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

    4-4:
    驗證器
    區別 對規則做了更好的封裝
    新建validate文件夾   類   屬性 rules    使用:new  驗證類

    4-5:
    項目結構體系詳解:
    客戶端:cms   和小程序  登錄就是獲取令牌的過程  重點
    小程序 和微信服務器  以及 我們自己的服務器交互
    服務端;校驗參數->controller  ->model/service/logic ->核心框架  異常處理 
    注意:service  和  model層之間的關系    最好能靈活的同級 
    小程序的緩存
    restful api  

    4-6:
    自定義驗證規則:
    getBanenrByID  
    參數 id正整數 
     自己寫(發生錯誤,新建文件夾的時候,把順序搞混了,導致接口訪問不到!一定要注意)

    4-7:
    構建接口參數校驗層:
    上一節 的  也不夠精簡  復用性不高。
    baseValidate基類。
    goCheck   獲取參數  做校驗
    攔截器    先使用tp5的默認異常 
    自己寫  沒什么問題

    5-1:
    REST之前的重要協議:SOAP
    soap 重   使用xml描述數據 前端調接口的時候   流程復雜  網站后臺轉發調用  

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

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

    5-4:
    如何學習RESTFul  API。
    模仿:豆瓣開放api ,github開發者api
    合理使用,切勿盲目照搬標磚REST,因為我們面向的是內部人員

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

    6-2:
    固有的處理異常的思維方式和流程:
    現在有個服務器錯誤,假如1/0,拋出異常  狀態碼 400

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

    6-4:
    實現自定義全局異常處理:
    新建exception文件夾,
    覆蓋和重寫,
    三個類
    config    要配置

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

    6-6:
    日志系統:
    先關掉tp5的自動日志記錄 ,太多,
    有選擇的記錄日志,

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

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

    6-9:
    全局異常處理的應用 中:
    構造函數 對成員變量操作 可選參數賦值  異常類

    6-10:
    全局異常處理的應用 下:
    驗證器 需要驗證多個參數的時候
    batch()方法

    6-11:
    小結與AOP思想:面向切面

    我有話說
    聯系我們
    掃二微碼
    主站蜘蛛池模板: 久久这里只精品国产99热| 岛国精品一区免费视频在线观看 | 精品福利一区二区三区| 精品欧美一区二区在线观看| 精品无码一级毛片免费视频观看| 精品亚洲欧美中文字幕在线看| 欧美日韩国产精品系列| 一本一本久久aa综合精品| 日韩精品系列产品| 精品久久久久久| 毛片a精品**国产| 日韩精品真人荷官无码| 国产精品一区二区不卡| 精品国产亚洲一区二区在线观看| 青青热久久国产久精品 | 欧美精品一本久久男人的天堂| 99久久夜色精品国产网站| 亚洲精品国产成人影院| 无码精品久久久天天影视 | 国精品无码一区二区三区左线| 91久久福利国产成人精品| 亚洲精品无码午夜福利中文字幕| 久久99国产精品成人欧美| 国产精品素人搭讪在线播放| 少妇精品无码一区二区三区| 亚洲综合国产精品| 亚洲精品蜜桃久久久久久| 久久久久人妻一区精品果冻| 国产精品午睡沙发系列| 麻豆精品三级全部视频 | 国产成人精品日本亚洲专一区| 亚洲欧美日韩国产精品一区二区| 久久精品无码av| 免费国产在线精品一区| 久久精品这里只有精99品| 国产精品无码素人福利| 国产精品欧美久久久久无广告| 国产精品午夜福利在线无码| 久久99精品久久久久久9蜜桃| 看99视频日韩精品| 亚洲精品卡2卡3卡4卡5卡区|