<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                #[PhalApi(π框架) - PHP輕量級開源接口框架 - V1.3.3](http://www.phalapi.net) PhalApi,簡稱π框架,專注于接口開發,致力讓接口開發更簡單。支持HTTP、SOAP和RPC協議,可用于快速搭建微服務、RESTful接口或web services,關注于測試驅動開發、領域驅動設計、極限編程、敏捷開發以及如何快速、穩定、持續交付有價值的接口服務。 在此借一行文字的空間,感謝 **開源中國** 這么好的分享平臺,同時也感謝您花費寶貴的時間來閱讀此文檔,在開源的路上,您每一次真心的關注和肯定都是我們前進的最大動力!謝謝! 此框架代碼開源、產品開源、思想開源,可用于個人、商業用途等,請放心使用。更多內容,請訪問官網: ![apic](http://webtools.qiniudn.com/master-LOGO-20150410_50.jpg) #背景 過去十年,是互聯網時代;如今的十年,是移動時代。 在iOS、Android、Windows Phone、PC版、Web版等各種終端和各種垂直應用不停更新迭代的大背景下,顯然很是需要一組乃至一系列穩定的后臺接口支撐。 接口,是如此重要,正如Jaroslav Tulach在《軟件框架設計的藝術》一書中說的: ``` API就如同恒星,一旦出現,便與我們永恒共存。 ``` 所以,這里希望通過提供一個快速可用的后臺接口開發框架,可以: ``` 一來,支撐輕量級項目后臺接口的快速開發; 二來,闡明如何進行接口開發、設計和維護,以很好支持海量訪問、大數據、向前向后兼容等; 三來,順便分享一些好的思想、技巧和有用的工具、最佳實踐。 ``` 如果您有接口項目開發的需要,又剛好需要一個PHP接口框架,歡迎使用! 我們也爭取致力于將我們的PhalApi維護成像恒星一樣: ``` 不斷更新,保持生氣;為接口負責,為開源負責! ``` #安裝 + *請從release分支拉取穩定的代碼* + *推薦在Linux服務器上進行開發* + *建議PHP >= 5.3.3* 將代碼下載解壓到服務器后即可,然后打開瀏覽器,訪問安裝向導(推薦使用nginx,并將根目錄設置為Public): ``` http://localhost/PhalApi/Public/install/ ``` ![](http://7xiz2f.com1.z0.glb.clouddn.com/QQ20151024155002.jpg) 為驗證是否安裝成功,可以訪問默認接口服務,如:http://localhost/PhalApi/Public/demo/ ,正常時會返回類如: ``` { "ret": 200, "data": { "title": "Default Api", "content": "PHPer您好,歡迎使用PhalApi!", "version": "1.1.0", "time": 1422779027 }, "msg": "" } ``` #框架升級 我們以最大的努力,保證完美兼容性的升級。當框架有新版本需要升級,只需要簡單一步: ``` 更新替換 ./PhalApi/PhalApi 核心框架目錄即可。 ``` #在線體驗 ``` //默認的接口服務 http://demo.phalapi.net/ //帶參數的示例接口 http://demo.phalapi.net/?service=Default.Index&username=oschina //故意請求一個非法的服務 http://demo.phalapi.net/?service=Demo.None { "ret": 400, "data": [], "msg": "非法請求:服務Demo.None不存在" } ``` #文檔 [http://www.phalapi.net/wikis/](http://www.phalapi.net/wikis/) #類參考手冊 [http://www.phalapi.net/docs/](http://www.phalapi.net/docs/) #[酷!]接口參數在線查詢 為了方便客戶端查看最新的接口參數,特別提供此在線工具,根據接口代碼實時生成接口參數報表,完全不需要后臺開發編寫維護額外的文檔。我覺得,這很符合敏捷開發之道。 ``` //接口參數在線查詢工具鏈接 http://demo.phalapi.net/demo/checkApiParams.php ``` 如:http://demo.phalapi.net/demo/checkApiParams.php ,訪問效果如下: ![mahua](http://7qnay5.com1.z0.glb.clouddn.com/20150613.png) 因此,接口所需要的參數,對于接口開發人員,也只是簡單配置一下參數規則,便可以輕松獲取。 #[贊!]接口單元測試 不能被測試的代碼,不是好代碼。 在使用此框架進行接口開發時,我們強烈建議使用測試驅動開發,以便于不斷積累形成接口測試體系,保證接口向前向后兼容。 例如對接口 **/?service=User.GetBaseInfo&userId=1** 進行單元測試時,按: **構造-操作-檢驗(BUILD-OPERATE-CHECK)模式** ,即: ``` /** * @group testGetBaseInfo */ public function testGetBaseInfo() { //Step 1. 構建請求URL $str = 'service=User.GetBaseInfo&userId=1'; //Step 2. 執行請求(模擬接口請求) $rs = PhalApi_Helper_TestRunner::go($url); //Step 3. 驗證 $this->assertNotEmpty($rs); $this->assertArrayHasKey('code', $rs); $this->assertArrayHasKey('msg', $rs); $this->assertArrayHasKey('info', $rs); $this->assertEquals(0, $rs['code']); $this->assertEquals('dogstar', $rs['info']['name']); $this->assertEquals('oschina', $rs['info']['from']); } ``` 運行效果: ![運行效果](http://static.oschina.net/uploads/space/2015/0204/234130_GSJ6_256338.png) 對于框架的核心代碼,我們也一直堅持著單元測試,其核心框架代碼的單元測試覆蓋率可高達96%以上。 #[項!]基于接口查詢語言的SDK包支持 可用一句話來描述接口請求,如JAVA的請求示例: ``` PhalApiClientResponse response = PhalApiClient.create() .withHost("http://demo.phalapi.net/") .withService("Default.Index") //接口服務 .withParams("username", "dogstar") //接口參數 .withTimeout(3000) //接口超時 .request(); ``` 目前已提供的SDK有: + JAVA版 + Objective-c版 + PHP版 + C#版 + JS版 #主要目錄結構 ``` . │ ├── PhalApi //PhalApi框架,后期可以整包升級 │ │ ├── Public //對外訪問目錄,建議隱藏PHP實現 │ └── demo //Demo服務訪問入口 │ │ ├── Config //項目接口公共配置,主要有:app.php, sys.php, dbs.php ├── Data //項目接口公共數據 ├── Language //項目接口公共翻譯 ├── Runtime //項目接口運行文件目錄,用于存放日記,可軟鏈到別的區 │ │ └── Demo //應用接口服務,名稱自取,可多組 ├── Api //接口響應層 ├── Domain //接口領域層 ├── Model //接口持久層 └── Tests //接口單元測試 ``` 以下為一示例目錄結構圖解 ![](http://7qnay5.com1.z0.glb.clouddn.com/QQ-20151015214456.jpg) #加入我們 顯然,這只是一個開始,我們要走的路還很長。這些也不是一個人可以完成的。即使可以,也需要很長一段時間。 在一個人還年輕的時候,我覺得,就應該著手致力做一些對社會有意義的事情,因此我選擇了開源。 如果能夠有機會和你一起為之努力,將會是我的榮幸,也是一段令值得興奮激動的。SO?如果你對此深感興趣、有激情和時間,請聯系我,郵箱一如既往是:chanzonghuang@gmail.com,或者開源中國站內留言,歡迎加入,謝謝! 除此之外,你也可以通過其他的方式來支持我們。一如:在你使用此框架進行實際項目開發過程中所遇到的問題或者更好的解決方案都可以反饋給我們;又如:關注和認可,因為在開源的路上,您每一次真心的關注和肯定都是我們前進的最大動力!謝謝! #更新日記 此 [更新日記](http://www.phalapi.net/wikis/%5B5.6%5D-%E6%9B%B4%E6%96%B0%E6%97%A5%E8%AE%B0.html) ,主要是為了說明,我們一直在努力更新和維護。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看