***
PhalApi從1.2版本進入多人協助開發和項目使用后,也開始遵守嚴格的版本控制。我們平均每周會修復已發現的BUG,每2-4周發布一個小版本。
##分支說明
+ release 發布分支,穩定的版本,可直接用于團隊的項目開發
+ master 主線分支,隨時待發布的版本,測試驗收后會合并到release進行發布
+ master-X.X.X 主線的歷史分支,以保留或查看歷史版本
+ dev 開發分支,當前用于協同開發的分支,以存放共享未完成的代碼
##更新日志
###2016-04-22
```
1、優化三個命令腳本的使用說明,使其更友好、更專業
2、# 48 接口文檔注釋中有空格問題優化
3、官方視頻教程系列錄制與發布
```
###2016-04-6
```
1、維護install優化目錄權限訪問驗證
```
###2016-04-2
```
1、修復sting類型長度驗證是中文字符占用三個字符問題,使用format下標可用于定義字符編碼的類型,如utf8、gbk,gb2312
2、install優化目錄權限訪問驗證
```
###2016-03-26
```
1、V1.3.3小版本發布
```
###2016-03-18
```
1、對Redis緩存進行擴展完善,感謝 @風 提供
```
###2016-03-12
```
1、添加PhalApi客戶端SDK包(Go版),感謝@prettyyjnic 提供
2、添加PhalApi客戶端SDK包(React-Native版),感謝@ダSimVlove輝 提供
3、修復NotORM在調試時輸出日志的warning
```
###2016-02-13
```
1、PhalApi_Api第54行!isset($this->name)判斷bugfixed
```
###2016-01-18
```
1、框架中文名起用:π框架,感謝@貓哥 @Lambda! 兩位的建議!
2、將JSON返回格式中的header調整為:application/json
```
###2016-01-13
```
1、添加兼容iOS下mcrypt加密的擴展類庫,感謝@大蟬 提供
2、默認Demo示例下,數據庫表字段從from改名為note,以防誤導
3、緊急修復數據庫isKeepPrimaryKeyIndex寫反的問題,并緊急發布
```
###2016-01-02
```
1、修改notorm使用sql語句使用:和?替換執行sql時,對于int,bool,null進行單獨處理
2、優化了PhalApi_Request_Formatter_File,支持了對文件上傳類型驗證增加了ext后綴名驗證
3、提供CHM格式的wiki文檔
4、初始化文件init.php簡化,并默認裝載擴展類庫Library目錄
5、修正install可視化安裝中對listAllApis.php 和 checkApiParams.php 文件中的項目名稱
6、其他一些輕量bugfixed
```
###2015-12-31(非100%完美兼容)
```
1、listAllApis.php在線接口列表,追加對“更多說明”的使用支持,即使用注釋@desc
2、添加PhalApi基礎教程到官方wiki,感謝 @喵了個咪 提供
3、添加Object-C的SDK包XSHttpTool,感謝 @garden! 提供
4、默認采用以數組的形式返回結果集,1.3.1及以下版本需要保持原來主鍵為下標的返回時,需要在init.php文件手動切換:DI()->notorm->keepPrimaryKeyIndex();
```
###2015-11-27 - v1.3.1
```
1、重構并設計格式化類:PhalApi_Request_Var,使之支持項目擴展定制化;并添加callable回調類型、為數組和日期補充最值檢測
2、PhalApi_DB_NotORM上添加對數據庫維度的事務操作支持 感謝@研究研究 反饋
3、重構PhalApi_DB_NotORM,以便支持定制MySQL外的數據庫操作
4、bugfixed NotORM_Result::fetchPairs()的錯誤: Argument 1 passed to iterator_to_array() must implement interface Traversable, array given 感謝@scott 反饋
5、提供了Redis擴展類型,由 @喵了個咪 提供
6、添加支持Yaconf擴展讀取配置
7、版本更新到v1.3.1 (感恩版)
```
###2015-11-07
```
1、添加Ruby版SDK包
2、完善listAllApis.php,可按注釋進行字典排列,支持多級目錄掃描
3、添加了DB_Cluster擴展類庫,由 @喵了個咪 提供
4、添加了Medoo擴展類庫,由 @轉身.滿目瘡痍 提供
5、DI()->notorm::queryAll()與DI()->notorm::queryRows()第二個參數$parmas改成缺省默認為array()
```
###2015-10-25 - v1.3.0
```
1、用戶擴展類庫的完善,添加創建會話的入口,與文檔完善
2、初始化文件init.php簡化
3、提供可視化安裝向導
4、首次線下活動嘗試:官方非正式交流會第一期(廣州站) --分享你在PHP接口開發中的心得與疑問
5、wiki文檔二次系統整理
6、利用MDwiki部署全新的在線文檔:http://wiki.phalapi.net/
7、官網首頁版本迭代更新
8、添加示例目錄結構圖解 由@黃苗筍提供
9、listAllApis.php支持自動化生成 由@轉身.滿目瘡痍 提供
10、落點應用框架:freeApi服務于互聯網開發者的免費接口供應平臺 由@轉身.滿目瘡痍 提供,并正在致力開發完善中,請見:http://git.oschina.net/xiaoxunzhao/freeApi
11、提供基于接口查詢語言的SDK包,并有JAVA版、PHP版、C#版、Objective-c版(由@Aevit 提供)、JS版(由@喵了個咪 提供)
12、PhalApi基礎教程的編寫 由@喵了個咪 提供,請見:http://my.oschina.net/wenzhenxi/blog/513004
13、添加了默認接口簽名過濾器:PhalApi_Filter_SimpleMD5
14、加強對DI()->filter的類型檢測,避免出現non-object的錯誤,增加容錯能力
15、版本更新到v1.3.0 (1024狂歡版)
```
###2015-09-07
```
1、添加擴展類庫:基于FastRoute的快速路由
2、一些輕量bugfixed
```
###2015-08-23
```
1、為接口參數規則擴展desc說明
2、補充了:[4.2] 開發實戰2:模擬優酷開放平臺接口項目開發
3、提供Auth 權限擴展 (由@黃苗筍提供,在這里表示再次感謝,^_^)
4、一些輕量bugfixed
5、版本更新到v1.2.1
```
###2015-07-26
```
1、修正不能獲取文件類型參數
2、修正在線接口參數查詢工具中對默認值輸出的展示
3、修正User擴展類庫中登錄態檢測穿透,原因在于不該使用 isset(DI->cache) 進行判斷
```
###2015-07-11
```
1、計劃任務Task擴展類庫追加異常時的結果返回,以明確出錯的原因
2、添加數據庫配置注釋
```
###2015-06-27
```
1、自動生成SQL語句的腳本,追加對配置數據庫字符集的讀取,并無表時讀取默認的路由配置以便可以生成SQL
2、User擴展類庫的Bugfixed
3、docs文檔更新
```
###2015-06-06
```
1、接口返回參數,根據代碼return注釋,自動生成在線文檔
2、接口參數規則中追加對文件參數的驗證支持
3、將Task擴展類庫轉移并內置于PhalApi框架中
4、統一使用GPL協議
5、重構在線接口參數查看,使用OO的規范并提取成類放置在輔助類包中,以便接口更好地使用
6、提供統一的測試輔助類:PhalApi_Helper_TestRunner; 若需保留原來的寫法,可追加: class PhalApiTestRunner extends PhalApi_Helper_TestRunner{}
7、一些bugfixed
```
###2015-05-23
```
1、添加redis緩存
2、提供計劃任務擴展類庫及對應的文檔
3、提供項目實戰示例和對應的文檔
4、補充更多的文檔
5、自動生成SQL語句的腳本改從./Data/目錄下獲取對應的建表文件,原來為./Config/sql/
6、提供一個接口開發實戰示例(投票活動)
7、補充數據庫的port和charset配置,port默認為3306,charset默認為UTF8
8、完成計劃任務續篇,提供統一的crontab調度
```
###2015-05-07
```
1、PhalApi_Cache_Memcached更正類名為PhalApi_Cache_Memcached,注意此類名的修正所帶來的影響,可以在init.php文件檢測項目是否有使用MC
2、追加更低版本的Memcahce支持
3、開啟1.2版本,進入多人協助開發時代
```
###2015-05-01
```
1、五一小更新,提供一致性的DB操作接口
2、添加swoole擴展類庫,以支持長鏈接和異步任務
3、版本更新到1.1.4
```
###2015-04-24
```
1、修正數據庫連接失敗時顯露帳號信息
```
###2015-04-17
```
1、官網完善,添加備案信息、下載、關于、許可等頁面
2、對框架添加COOKIE支持、SL快速函數、CURL重試次數、字符串正則匹配驗證等
3、開源用戶擴展類庫
4、創建PhalApi框架交流群
```
###2015-04-11
```
1、添加在線接口列表模板,及生成腳本同步更新
2、文檔移至官網維護
3、官網頁面開發
```
###2015-04-04
```
1、WIKI文檔排版,與更多開篇的編寫
2、源代碼注釋的對齊與再整理
3、生成項目腳本與創建項目的一些工作準備
4、提供單元測試Runner及phpunit.xml配置文件
```
###2015-03-27
```
1、代碼注釋完善與在線類參考手冊生成:http://www.phalapi.net/docs/
```
###2015-03-21
```
1、一些bugfixed:規則下標開頭大小寫問題、文件緩存個數問題預防等
2、擴展類庫:七牛云存儲接口調用
3、文檔整理和編寫新的文檔
```
###2015-03-15
```
1、增加對RSA加密的支持,以及超長字符串的解決方案
2、文件緩存目錄拆分,以支持海量的文件緩存
3、官網再上線:www.phalapi.net
```
###2015-02-26
```
1、對之前的模型代碼、查詢類、多級緩存等補充完善單元測試
2、WIKI文檔補充UML圖示
3、Release 1.1.2 發布
```
###2015-02-24
```
1、文件緩存、空緩存及多級緩存的引入
2、表數據入口的Model基類,以供NotORM系列子類使用,關鍵點為主鍵映射和分表情況
3、結合多級緩存和廣義Model,對高成本的數據獲取的應對方案
4、WIKI文檔補充
```
###2015-02-15
```
1、年前的更新:三篇文檔的編寫,到此基礎入門只差多級緩存未完成;
```
###2015-02-13
```
1、代碼小酌,重構代碼、整理注釋,讓代碼更明了,更統一,更達意;
2、添加工具類,其中有:IP地址獲取、隨機字符串生成;
3、添加擴展類庫:微信開發,并編寫相關使用文檔;
4、添加擴展類庫:phprpc協議支持及WIKI編寫;
```
###2015-02-11
```
1、官網發布上線:http://112.74.107.125/,域名已申請,待綁定:www.phalapi.net;
```
###2015-02-09
```
1、將原來限制于JSON格式的返回調整成更靈活的組件形式,以便支持JSON、JSONP和測試環境下的格式返回,和擴展項目開發所需要的格式;
2、接口基類的初始化函數PhalApi_Api::initialize()精簡名字為init();
3、全部核心的代碼注釋中的author追加個人郵箱地址;
4、單元測試完善補充和文檔整理;
```
###2015-02-07
```
1、完善接口調試下SQL的輸出、示例和單元測試,以及WIKI文檔的編寫;
2、日志接口文檔的編寫;
3、合并master到release,并將版本號更新到1.1.1;
```
###2015-02-04
```
1、根據質量分析后Sonar提供的報告,整理代碼,包括統一的注釋、對齊、代碼風格、命名規則等;
2、默認服務的注冊,有:DI()->request、DI()->response;
```
###2015-02-02 版本1.1.0 一個全新的開始!
```
此版本在原來的基礎上進行了大量的重構和更多的規范統一,主要有:
1、分離框架代碼和項目代碼,便于以后框架升級;
2、統一全部的入口文件,以便不同的版本、終端、入口和測試環境使用,并隱藏PHP語言實現;
3、框架代碼統一從原來的Core_改名為PhalApi_,并且把PhalApi_DI::one()統一為快速函數的寫法:DI();
4、重新界定應用項目的代碼目錄結構,以包的形式快速開發;
5、全部文檔相應更新;
//注意!此版本不兼容舊的寫法,如有問題,請與我聯系。
```
###2015-02-01
```
1、正常時,ret返回調整為:200,原來為0;
2、異常統一簡化為兩大類:客戶端非法請求400、服務端運行錯誤500;
3、日志文件寫入重構,并將權限更改為777,以便不同場合下日志寫入時的permission denied;
4、單元測試整理;
```
###2015-01-31
```
1、參數規則的解析,移除不必要的固定類型,以及addslashes轉換,單元測試整理;
2、參數規則文檔編寫:http://my.oschina.net/u/256338/blog/372947
```
###2015-01-29
```
1、examples代碼重新整理,及入門文檔同步更新;
2、入口文件的調整;
```
###2015-01-28
```
1、補充入門開發示例的文檔,及相關的測試代碼和產品代碼,主要是examples;
2、提供接口參數在線查詢工具;
```
###2015-01-24
```
1、PhalApi開源;
```
- 歡迎使用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:接口文檔參考模板