国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

【PhpBoot】 為快速開發 RESTful API 設計的PHP框架

mist14 / 1355人閱讀

摘要:是為快速開發設計的框架。特色框架提供許多主流的特性如依賴注入等。輕松支持是目前最流行的接口文檔框架。在一開始就非常注重框架的友好性盡可能讓框架保持準確的代碼提示。

PhpBoot

PhpBoot 是為快速開發 RESTful API 設計的PHP框架。它可以幫助開發者更聚焦在業務本身, 而將原來開發中不得不做, 但又重復枯燥的事情丟給框架, 比如編寫接口文檔、參數校驗和遠程調用代碼等。

特色

PhpBoot 框架提供許多主流的特性, 如ORM、依賴注入等。 這些特性都經過精心設計和選擇(有些是第三方開源代碼,如 PHP-DI),但和其他框架相比較, PhpBoot 最顯著的特色是:

1. 以面向對象的方式編寫接口

你肯定看到過這樣的代碼:

// **不用** PhpBoot 的代碼
class BookController
{
    public function findBooks(Request $request)
    {
        $name = $request->get("name");
        $offset = $request->get("offset", 0);
        $limit = $request->get("limit", 10);
        ...
        return new Response(["total"=>$total, "data"=>$books]);
    }
    
    public function createBook(Request $request)
    ...
}

很多主流框架都需要用類似代碼編寫接口。但這種代碼的一個問題是, 方法的輸入輸出隱藏在實現里, 這不是通常我們提倡的編碼方式。如果你對代碼要求更高, 你可能還會實現一層 Service 接口, 而在 Controller 里只是簡單的去調用 Service 接口。而使用 PhpBoot, 你可以用更自然的方式去定義和實現接口。上面的例子, 在 PhpBoot 框架中實現是這樣的:

/**
 * @path /books/
 */
class Books
{
    /**
     * @route GET /
     * @return Book[]
     */
    public function findBooks($name, &$total=null, $offset=0, $limit=10)
    {
        ...
        return $books;
    }
  
    /**
     * @route POST /
     * @param Book $book {@bind request.request} bind $book with http body
     * @return string id of created book
     */
    public function createBook(Book $book)
    {
        $id = ... 
        return $id;
    }
}

上面兩份代碼執行的效果是一樣的。可以看到 PhpBoot 編寫的代碼更符合面向對象編程的原則, 以上代碼完整版本請見phpboot-example。
? ?

2. 輕松支持 Swagger

Swagger是目前最流行的接口文檔框架。雖然很多框架都可以通過擴展支持Swagger, 但一般不是需要編寫很多額外的注釋, 就是只能導出基本的路由信息, 而不能導出詳細的輸入輸出參數。而 PhpBoot 可以在不增加額外編碼負擔的情況下, 輕松去完成上述任務,下圖為findBooks對應的文檔。更多內容請見文檔和在線 Demo。

3. 簡單易用的分布式支持

使用 PhpBoot 可以很簡單的構建分布式應用。通過如下代碼, 即可輕松遠程訪問上面示例中的 Books 接口:

$books = $app->make(RpcProxy::class, [
        "interface"=>Books::class, 
        "prefix"=>"http://x.x.x.x/"
    ]);
    
$books->findBooks(...);

同時還可以方便的發起并發請求, 如:

$res = MultiRpc::run([
    function()use($service1){
        return $service1->doSomething();
    },
    function()use($service2){
        return $service2->doSomething();
    },
]);

更多內容請查看文檔

4. IDE 友好

IDE 的代碼提示功能可以讓開發者輕松不少, 但很多框架在這方面做的并不好, 你必須看文檔或者代碼, 才能知道某個功能的用法。PhpBoot 在一開始就非常注重框架的 IDE 友好性, 盡可能讓框架保持準確的代碼提示。比如下圖是 DB 庫在 PhpStorm 下的使用:

主要特性

基于Annotation的路由定義

接口參數雙向綁定

Validation

依賴注入

DB

ORM

自動文檔和接口工具

分布式支持(RPC)

Hook

工作流引擎(開發中...)

安裝和配置

安裝 composer (已安裝可忽略)

curl -s http://getcomposer.org/installer | php

安裝 PhpBoot

composer require "caoym/phpboot"

index.php 加載 PhpBoot

loadRoutesFromPath(__DIR__."/App/Controllers");
$app->dispatch();

幫助和文檔

在線文檔

QQ 交流群:185193529

本人郵箱 caoyangmin@gmail.com

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/25599.html

相關文章

  • PhpBoot 入門(二) 面向對象方式編寫 SQL

    摘要:是一款為快速開發而設計的框架加星請點這里。對進行了封裝,使開發者可以更方便的編寫正確和安全的。下面將繼續上一篇快速開發接口的示例,介紹的使用。配置可以通過依賴注入的方式,對數據庫進行配置。 showImg(https://segmentfault.com/img/remote/1460000010831389); PhpBoot 是一款為快速開發 RESTful API 而設計的PHP...

    whinc 評論0 收藏0
  • 后端API從入門到放棄指北

    摘要:菜鳥教程框架中文手冊入門目標使用搭建通過對數據增刪查改沒了純粹占行用的拜 后端API入門學習指北 了解一下一下概念. RESTful API標準] 所有的API都遵循[RESTful API標準]. 建議大家都簡單了解一下HTTP協議和RESTful API相關資料. 阮一峰:理解RESTful架構 阮一峰:RESTful API 設計指南 RESTful API指南 依賴注入 D...

    Jeffrrey 評論0 收藏0
  • 后端API從入門到放棄指北

    摘要:菜鳥教程框架中文手冊入門目標使用搭建通過對數據增刪查改沒了純粹占行用的拜 后端API入門學習指北 了解一下一下概念. RESTful API標準] 所有的API都遵循[RESTful API標準]. 建議大家都簡單了解一下HTTP協議和RESTful API相關資料. 阮一峰:理解RESTful架構 阮一峰:RESTful API 設計指南 RESTful API指南 依賴注入 D...

    sf190404 評論0 收藏0
  • 后端API從入門到放棄指北

    摘要:菜鳥教程框架中文手冊入門目標使用搭建通過對數據增刪查改沒了純粹占行用的拜 后端API入門學習指北 了解一下一下概念. RESTful API標準] 所有的API都遵循[RESTful API標準]. 建議大家都簡單了解一下HTTP協議和RESTful API相關資料. 阮一峰:理解RESTful架構 阮一峰:RESTful API 設計指南 RESTful API指南 依賴注入 D...

    Airmusic 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<