亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

PHP 跨域中間件 v1.3.0 發(fā)布,新增 PSR-15 和 ThinkPHP 支持啦

XiNGRZ / 2506人閱讀

摘要:然后使用在發(fā)送前進(jìn)行攔截,并對(duì)其信息的處理的坑因?yàn)榭蚣塥?dú)占了請(qǐng)求的綁定以及跨域信息的判斷處理,目前只能通過(guò)鉤子攔截實(shí)現(xiàn)處理的中間件運(yùn)行機(jī)制有問(wèn)題,且無(wú)全局中間件機(jī)制。

什么是 PHP CORS

PHP CORS 是一個(gè) PHP 跨域中間件,全名叫做 「PHP CORS Middleware」,專門(mén)用來(lái)處理基于 PHP 程序的 CORS 信息問(wèn)題,主要針對(duì)在 PHP 程序中設(shè)置跨域信息的支持。

更新內(nèi)容

增加 ThinkPHP 5 框架的支持

增加 PSR-15 中間件實(shí)例

在 ThinkPHP 5 框架中的使用

只要在 ThinkPHP 5 的項(xiàng)目中依賴 medz/cors 即可。

配置

在 ThinkPHP 框架中,配置沒(méi)有什么可選你可以在 config 下面新建一個(gè)名為 cors.php 的文件,或者在某一個(gè)模塊下面新建 cors.php 文件,甚至可以在全局公用配置或者模塊公用配置中進(jìn)行 cors 為 key 的配置,其中配置內(nèi)容請(qǐng)參考 https://github.com/medz/cors#...

組件是如何支持 ThinkPHP 的

注入代碼參考自 ThinkPHP 官方的拓展包,首先我們建立 src/ThinkPHP/injection.php 文件,然后在 composer.json 的 autoload 中使用 files 方式對(duì)該文件進(jìn)行加載,代碼如下:

make(Injecter::class);
    $injecter->register();
}, 	hinkContainer::getInstance());

為了不影響其他框架的使用,優(yōu)先判斷 ThinkPHP 5 的容器類是否存在,如果存在,執(zhí)行 call_user_func,使用閉包進(jìn)行包裝,然后使用容器蛋里進(jìn)行 Injector 實(shí)例。

使用的 ThinkPHP 5 鉤子

在 ThinkPHP 5 中使用 app_init 鉤子,作用是為了在框架讀取模塊和全局配置后進(jìn)行 CORS 服務(wù)的單例處理注入到容器中。
然后使用 response_send 在 Response 發(fā)送前進(jìn)行攔截,并對(duì)其 CORS 信息的處理!

ThinkPHP 5 的坑

因?yàn)榭蚣塥?dú)占了 OPTIONS 請(qǐng)求的綁定以及跨域信息的判斷處理,目前只能通過(guò) response_send 鉤子攔截 Response 實(shí)現(xiàn) CORS 處理!

ThinkPHP 5.1 的中間件運(yùn)行機(jī)制有問(wèn)題,且無(wú)全局中間件機(jī)制。所以無(wú)法通過(guò)中間件進(jìn)行預(yù)處理!??!
PSR-15 實(shí)例

在組件中有一份 psr-15 的接口中間件實(shí)現(xiàn)代碼,類名稱叫做 MedzCorsPSRCorsMiddleware 你可以用于任何使用 PSR-15 的地方。

更多

項(xiàng)目 GitHub:https://github.com/medz/cors 歡迎 Satr! 謝謝!

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/30760.html

相關(guān)文章

  • Swoft 框架 1.0 正式來(lái)襲,首個(gè)基于 Swoole 原生協(xié)程的 PHP 框架

    摘要:歷時(shí)年多緊鑼密鼓的開(kāi)發(fā),以及愉快而忙碌的春節(jié)假期,期間數(shù)從到快破,碼云首頁(yè)推薦,作者和社區(qū)的大力支持,正式版終于要和大家見(jiàn)面。此次更新新增了大量特性在易用性代碼復(fù)用性能方面都有所提升??梢杂糜跇?gòu)建高性能的系統(tǒng)中間件基礎(chǔ)服務(wù)等等。 歷時(shí) 1 年多緊鑼密鼓的開(kāi)發(fā),以及愉快而忙碌的春節(jié)假期,期間 github star 數(shù)從 500 到快破 1k,碼云首頁(yè)推薦,Swoole作者 Rango ...

    weij 評(píng)論0 收藏0
  • IMI 基于 Swoole 開(kāi)發(fā)的協(xié)程 PHP 開(kāi)發(fā)框架 常駐內(nèi)存、協(xié)程異步非阻塞

    摘要:介紹是基于開(kāi)發(fā)的協(xié)程開(kāi)發(fā)框架,擁有常駐內(nèi)存協(xié)程異步非阻塞等優(yōu)點(diǎn)。宇潤(rùn)我在年開(kāi)發(fā)并發(fā)布了第一個(gè)框架,一直維護(hù)使用至今,非常穩(wěn)定,并且有文檔。于是我走上了開(kāi)發(fā)的不歸路 showImg(https://segmentfault.com/img/bVbcxQH?w=340&h=160); 介紹 IMI 是基于 Swoole 開(kāi)發(fā)的協(xié)程 PHP 開(kāi)發(fā)框架,擁有常駐內(nèi)存、協(xié)程異步非阻塞IO等優(yōu)點(diǎn)。...

    airborne007 評(píng)論0 收藏0
  • imi v1.0 正式版,專注單體應(yīng)用的 PHP 協(xié)程應(yīng)用開(kāi)發(fā)框架

    摘要:年開(kāi)發(fā)并發(fā)布框架現(xiàn)已停止維護(hù)。經(jīng)過(guò)一年實(shí)戰(zhàn),年月日,一周年之際正式發(fā)布版本。宇潤(rùn)部分開(kāi)源項(xiàng)目我已通過(guò)碼云平臺(tái),向項(xiàng)目力所能及地捐款,聊表心意。所以,目前主打的還是單體應(yīng)用開(kāi)發(fā)。協(xié)議的開(kāi)發(fā),也是帶來(lái)的一大優(yōu)勢(shì)。 imi 介紹 showImg(https://segmentfault.com/img/bVbuab9?w=291&h=187); imi 是基于 PHP 協(xié)程應(yīng)用開(kāi)發(fā)框架,它支...

    genefy 評(píng)論0 收藏0
  • v1.0.2 更新內(nèi)容 本次更新涉及以下組件 hyperf/databasehyperf/dihyperf/eventhyperf/http-serverhyperf/loggerhyperf/redishyperf/contract Added 接入 Travis CI,目前 Hyperf 共存在 426 個(gè)單測(cè),1124 個(gè)斷言; #25 完善了對(duì) Redis::connect 方法的...

    EsgynChina 評(píng)論0 收藏0
  • 開(kāi)源 PHP 項(xiàng)目找隊(duì)友、顧問(wèn)、指導(dǎo)、貢獻(xiàn)者等等

    摘要:三句話說(shuō)完的話,完善文檔和測(cè)試優(yōu)化接口使之能無(wú)縫升級(jí)到第一個(gè)長(zhǎng)期支持的,以及可能的話建立基礎(chǔ)的社區(qū)。實(shí)際項(xiàng)目例子代碼在目錄目標(biāo)版本暫時(shí)是你能幫上我的試用。 介紹站點(diǎn)還沒(méi)做,先直接甩代碼鏈接了 https://github.com/litphp/litphp Lit是什么? Lit是我一直在擼的個(gè)人框架,按第一次上傳代碼來(lái)說(shuō)歷史 超過(guò)4年 了,從還能支持PHP5.2的第一版開(kāi)始一直(龜速...

    W_BinaryTree 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<