##[8.1] PhalApi視頻教程
***先在這里感謝以下錄制小組的同學,是你們讓世界看到PhalApi的視頻教程!***
```
A西瓜妹子、聽風不語、彩色的雨、Catch、喵了個咪、dogstar
```
PhalApi教程視頻大綱,分為:基礎教程、進階教程、實戰教程三類。
附上:
+ [喵了個咪的博客](http://w-blog.cn)
+ [PhalApi官網](http://www.phalapi.net/ "PhalApi官網")
+ [PhalApi Git項目倉庫](http://git.oschina.net/dogstar/PhalApi/tree/release "開源中國Git地址")
+ [本次視頻教程源代碼](http://git.oschina.net/wenzhenxi/PhalApi-video/tree/master)
##1 基礎教程##
###1.1 環境搭建,安裝和helloword
[百度網盤](http://pan.baidu.com/s/1i5rUKrb) [優酷視頻](http://v.youku.com/v_show/id_XMTUyODYxMDYyMA==.html)
```
1) phalapi介紹以及使用場景
2)建議使用liunx和各項環境配置最低
3)推薦IDE
4)框架編寫的install展示
5)運行helloword!
```
###1.2 初識PhalApi
[百度網盤](http://pan.baidu.com/s/1i43jN6l) [優酷視頻](http://v.youku.com/v_show/id_XMTUyODYxNTcwOA==.html)
```
1)目錄功能講解
2)數據庫建庫建表
3)連接數據庫官方DEMO
```
###1.3 init介紹以及配置文件講解log記錄
[百度網盤](http://pan.baidu.com/s/1miISYnA) [優酷視頻](http://v.youku.com/v_show/id_XMTUyODkzMTY1Mg==.html)
```
1)init文件作用內容講解
2)配置文件使用講解
3)以及log記錄的活靈活用
```
###1.4 請求返回###
[百度網盤](http://pan.baidu.com/s/1eR8FBRc) [優酷視頻](http://v.youku.com/v_show/id_XMTUyODkzMTc4OA==.html)
```
1)請求的參數驗證getRules方法使用講解
2)返回json數據講解
3)返回報錯講解
```
###1.5 國際化和自動生成文檔###
[百度網盤](http://pan.baidu.com/s/1nvb8apF) [優酷視頻](http://v.youku.com/v_show/id_XMTUzNjc4MDUyOA==.html)
```
1)返回國際化T方法講解
2)自動生成文檔規范講解
3)如何查看
4)注意不要使用緩存會出不來
```
###1.6 Model操作講解###
[百度網盤](http://pan.baidu.com/s/1i468diX) [優酷視頻](http://v.youku.com/v_show/id_XMTUzNzgyNDYwMA==.html)
```
1)Model表配置
2)NotORM的使用
3)簡單的 curd 執行原生sql
```
###1.7 簡單的小項目###
百度網盤 優酷視頻
```
1)對用戶的一個登錄注冊等操作的接口實際項目編寫實戰
2)并且總結
```
##2 進階教程##
###2.1 DI思想講解###
[百度網盤](http://pan.baidu.com/s/1skWFHAt) [優酷視頻](http://v.youku.com/v_show/id_XMTUyODY3NDA4OA==.html)
```
一、DI簡介
1)DI的通用說明
+ 容器
+ Martin Fowler
+ 示例
2)DI在π框架的角色
+ 匯點
+ 管理全部服務資源
+ 形成 **通用語言** ,實現快速開發
+ 減少重復寫一些單例模式的代碼,以及泛濫的全局變量
3)π框架開發的使用
二、DI資源服務分類
1)框架本身的資源服務
+ 公共服務和內部服務
+ 公共服務的使用
2)如何自定義資源服務
+ 三步走:實現 -> 注冊 -> 使用
+ 示例
三、技巧與需要注意的事項
+ 一行優雅的代碼: DI()->get('filter', 'PhalApi_Filter_None')->check();
+ 注意別踩坑!
```
###2.2 ADM模式深入淺出###
[百度網盤](http://pan.baidu.com/s/1gfwdbF1) [優酷視頻](http://v.youku.com/v_show/id_XMTUzNzg4MDQ0OA==.html)
```
一、MVC模式與ADM模式
+ 為什么PhalApi自創ADM新模式?
二、ADM模式詳解
+ Api接口層
+ Domain領域層
+ Model數據層
三、三層結構的優勢與使用
1) 優勢
+ 分層結構
+ 關注點分離
+ 更明確的層級調用
2)投票Demo的三層實現解說
3)TDD下簡單接口開發實踐
+ 閱后即焚功能場景
+ 先寫單元測試
+ TDD下的三層實現
```
###2.3 自動加載和攔截器###
百度網盤 優酷視頻
```
1)自動加載機制的活靈活用
2)定義自己的項目功能文件
3)使用攔截器過濾參數并且使用token驗證請求
```
###2.4 自定義參數驗證規則###
百度網盤 優酷視頻
```
1)對getRules自定義參數驗證規則
2)一個郵箱驗證的小案例
```
###2.5 NotORM進階細節使用###
百度網盤 優酷視頻
```
1)方法補全
2)事務操作
```
###2.6 數據庫讀寫分離以及多庫使用###
百度網盤 優酷視頻
```
1)數據庫實現讀寫分離
2)實現跨庫使用
```
###2.7 使用緩存###
百度網盤 優酷視頻
```
1)使用緩存來實現緩存API請求結果
2)使用緩存來實現對數據庫查詢結果進行緩存
```
##3 實戰教程##
###3.1 多項目多版本處理###
百度網盤 優酷視頻
```
//TODO
```
###3.2 核心拓展介紹###
[百度網盤](http://pan.baidu.com/s/1gfnphuF) [優酷視頻](http://v.youku.com/v_show/id_XMTUyODczNzEzMg==.html)
```
一、π框架中的擴展類庫
1)擴展類庫的簡單介紹
+ 即插即用
+ 可重用的、業務無關的基礎設施類庫
+ 致力于與開源項目一起提供企業級的解決方案!
2)目前有哪些擴展類庫
+ 23+個
二、如何使用擴展類庫
1)使用步驟
+ 1、下載安裝
+ 2、配置
+ 3、注冊
+ 4、使用
2)擴展類庫使用示例
+ Log4php日志
+ View視圖渲染
三、如何開發、貢獻擴展類庫
+ 如何開發尚未提供的擴展類庫
+ 如何分享
```
**官網QQ交流群:421032344 歡迎大家的加入!**
- 歡迎使用PhalApi!
- 接口,從簡單開始!
- [1.1]-下載與安裝
- [1.2]-創建一個自己的項目
- [1.3]-在線體驗
- [1.4]-文檔、幫助和官網
- [1.10]-對PhalApi框架的抉擇
- [1.11]-快速入門(backup)
- [1.12]-參數規則:接口參數規則配置
- [1.13]-統一的接口請求方式:_sevice=XXX.XXX
- [1.14]-統一的返回格式和結構:ret-data-msg
- [1.15]-數據庫操作:基于NotORM的使用及優化
- [1.16]-配置讀取:內外網環境配置的完美切換
- [1.17]-日記紀錄:簡化版的日記接口
- [1.18]-快速函數:人性化的關懷
- [1.19]-DI服務速查:各資源服務一覽表
- [1.20]-DB操作:數據庫基本操作速查
- [1.21]-類的自動加載:遵循PEAR包的命名規范
- [1.22]-簽名驗證:自定義簽名規則
- [1.23]-請求和響應:GET和POST兩者皆可得及超越JSON格式返回
- [1.24]-緩存策略:更靈活地可配置化的多級緩存
- [1.25]-國際化翻譯:為走向國際化提前做好翻譯準備
- [1.26]-數據安全:數據對稱加密方案
- [1.27]-精益開發:更富表現力的Model層和重量級數據獲取的應對方案
- [1.28]-COOKIE:對COOKIE原生態的支持及記憶加密升級版
- [1.29]-開放與封閉:多入口和統一初始化
- [1.30]-保持的力量:接口開發最佳實踐
- [1.31]-新型計劃任務:以接口形式實現的計劃任務
- [2.11]-核心思想:DI依賴注入-讓資源更可控
- [2.12]-海量數據:可配置的分庫分表
- [2.13]-接口調試:在線SQL語句查看與性能優化
- [2.14]-測試驅動開發:意圖導向編程下的接口開發
- [2.15]-演進:新型計劃任務續篇
- [2.16]-領域驅動設計:應對復雜領域業務的Domain層
- [2.17]-微服務:Api接口服務層
- [2.18]-定制化:資源服務的再實現
- [2.19]-擴展庫:可重用的擴展類庫
- [2.20]-約定編程:架構明顯的編程風格
- [2.21]-服務器統一部署方案簡明版:CentOs---Nginx---php-fpm---MySql-[--Memcached]
- [2.22]-更多工具:精益項目和團隊建設
- [3.1]-擴展類庫:微信開發
- [3.2]-擴展類庫:代理模式下phprpc協議的輕松支持
- [3.3]-擴展類庫:基于PHPMailer的郵件發送
- [3.4]-擴展類庫:優酷開放平臺接口調用
- [3.5]-擴展類庫:七牛云存儲接口調用
- [3.6]-擴展類庫:新型計劃任務
- [3.8]-擴展類庫:用戶、會話和第三方登錄集成
- [3.9]-擴展類庫:swoole支持下的長鏈接和異步任務實現
- [3.11]-擴展類庫:基于FastRoute的快速路由
- [4.2]-開發實戰2:模擬優酷開放平臺接口項目開發
- [4.3]-開發實戰3:一個簡單的小型項目開發(奔跑吧兄弟投票活動)
- [5.1]-架構與思想:PhalApi核心設計和思想解讀
- [5.2]-雜談:扯一些PhalApi的前世和今生
- [5.3]-框架總結:術語表和PHP開發建議
- [5.4]-許可
- [5.5]-聯系和加入我們
- [5.6]-更新日記
- [5.8]-致框架貢獻者:加入PhalApi開源指南
- [6.1]-基于接口查詢語言的SDK包
- [6.2]-SDK包(JAVA版)
- [6.3]-SDK包(PHP版)
- [6.4]-SDK包(Objective-C版)
- [6.5]-SDK包(javascript版)
- [6.6]-SDK包(Ruby版)
- [8.1]-PhalApi視頻教程
- 附錄1:接口文檔參考模板