php架構(gòu)推薦,為快速開發(fā)ApI設(shè)計(jì)的特色框架/-

2023-11-14    分類: 網(wǎng)站建設(shè)

推薦,一個(gè)專為快速ApI開發(fā)而設(shè)計(jì)的pHp框架,它可以幫助開發(fā)者更多地關(guān)注業(yè)務(wù)本身,將原來開發(fā)中不得不做卻又重復(fù)的枯燥的事情,比如編寫接口文檔、參數(shù)校驗(yàn)和遠(yuǎn)程調(diào)用代碼等。

特征

框架提供了很多主流的特性,比如IOC、AOp、ORM等,這些特性都是經(jīng)過精心設(shè)計(jì)和挑選的(有些是第三方開源代碼,比如pHp-DI)php 架構(gòu),但是與其他框架相比,最顯著的特點(diǎn)是:

1. 以面向?qū)ο蟮姆绞骄帉懡涌?/p>

你一定見過這樣的代碼:

// **不用** phpboot 的代碼
class bookController
{
    public function findbooks(Request $request)
    {
        $name = $request->get('name');
        ...
        return new Response(['total'=>$total, 'data'=>$books]);
    }
    public function createbook(Request $request)
    ...
}

許多主流框架都需要編寫類似代碼的接口。但是這種代碼的一個(gè)問題是方法的輸入和輸出隱藏在實(shí)現(xiàn)中,這不是我們通常提倡的編碼方法。如果對(duì)代碼有更高的要求,也可以實(shí)現(xiàn)一層接口,直接調(diào)用里面的接口即可。并且使用,你可以更自然地定義和實(shí)現(xiàn)接口。上面的例子,在框架中實(shí)現(xiàn)是這樣的:

/**
 * @path /books/
 */
class books
{
    /**
     * @route GET /
     * @return book[]
     */
    public function findbooks($name, &$total=null, $offset=0, $limit=10)
    {
        $total = ...
        ...
        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;
    }
}

上面兩段代碼執(zhí)行的效果是一樣的??梢钥吹綄懗龅拇a更符合面向?qū)ο缶幊痰脑瓌t。上述代碼的完整版本請(qǐng)參見/-。

2. 輕松支持

是目前最流行的界面文檔框架。雖然通過擴(kuò)展可以支持很多框架,但是一般不需要寫很多額外的注釋,或者只能導(dǎo)出基本的路由信息??,但是不能導(dǎo)出詳細(xì)的輸入輸出參數(shù)。并且您可以輕松完成上述任務(wù),而不會(huì)增加額外的編碼負(fù)擔(dān)。下圖顯示了相應(yīng)的文檔。有關(guān)更多信息,請(qǐng)參閱 2.0 文檔和在線演示。

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

使用可以非常簡單地構(gòu)建分布式應(yīng)用程序。通過下面的代碼,可以很方便的遠(yuǎn)程訪問上例中的界面:

$books = $app->make(Rpcproxy::class, [
        'interface'=>books::class, 
        'prefix'=>'http://x.x.x.x/'
    ]);
$books->findbooks(...);

同時(shí)可以方便的發(fā)起并發(fā)請(qǐng)求,比如:

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

更多信息請(qǐng)查看RpC-2.0文檔

4. IDE 友好

IDE的代碼提示功能可以讓開發(fā)者輕松很多,但是很多框架在這方面做得并不好。您必須閱讀文檔或代碼才能了解某個(gè)函數(shù)的用法。一開始,我們非常關(guān)注框架的IDE友好性,并通過代碼提示盡可能保持框架的準(zhǔn)確性。例如下圖展示了Db庫的使用:

如您所見,IDE 的提示符合 SQL 語法規(guī)則php 架構(gòu),而不是簡單地列出所有 SQL 命令。

主要功能幫助和文檔

-2.0 個(gè)文件

分享文章:php架構(gòu)推薦,為快速開發(fā)ApI設(shè)計(jì)的特色框架/-
文章地址:http://www.bm7419.com/news16/294516.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、靜態(tài)網(wǎng)站、搜索引擎優(yōu)化、建站公司、網(wǎng)站內(nèi)鏈、域名注冊(cè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管