摘要:然后使用在發(fā)送前進(jìn)行攔截,并對其信息的處理的坑因?yàn)榭蚣塥?dú)占了請求的綁定以及跨域信息的判斷處理,目前只能通過鉤子攔截實(shí)現(xiàn)處理的中間件運(yùn)行機(jī)制有問題,且無全局中間件機(jī)制。
什么是 PHP CORS
PHP CORS 是一個 PHP 跨域中間件,全名叫做 「PHP CORS Middleware」,專門用來處理基于 PHP 程序的 CORS 信息問題,主要針對在 PHP 程序中設(shè)置跨域信息的支持。
更新內(nèi)容增加 ThinkPHP 5 框架的支持
增加 PSR-15 中間件實(shí)例
在 ThinkPHP 5 框架中的使用只要在 ThinkPHP 5 的項(xiàng)目中依賴 medz/cors 即可。
配置在 ThinkPHP 框架中,配置沒有什么可選你可以在 config 下面新建一個名為 cors.php 的文件,或者在某一個模塊下面新建 cors.php 文件,甚至可以在全局公用配置或者模塊公用配置中進(jìn)行 cors 為 key 的配置,其中配置內(nèi)容請參考 https://github.com/medz/cors#...
組件是如何支持 ThinkPHP 的注入代碼參考自 ThinkPHP 官方的拓展包,首先我們建立 src/ThinkPHP/injection.php 文件,然后在 composer.json 的 autoload 中使用 files 方式對該文件進(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)行攔截,并對其 CORS 信息的處理!
因?yàn)榭蚣塥?dú)占了 OPTIONS 請求的綁定以及跨域信息的判斷處理,目前只能通過 response_send 鉤子攔截 Response 實(shí)現(xiàn) CORS 處理!
ThinkPHP 5.1 的中間件運(yùn)行機(jī)制有問題,且無全局中間件機(jī)制。所以無法通過中間件進(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)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/30760.html
摘要:歷時年多緊鑼密鼓的開發(fā),以及愉快而忙碌的春節(jié)假期,期間數(shù)從到快破,碼云首頁推薦,作者和社區(qū)的大力支持,正式版終于要和大家見面。此次更新新增了大量特性在易用性代碼復(fù)用性能方面都有所提升。可以用于構(gòu)建高性能的系統(tǒng)中間件基礎(chǔ)服務(wù)等等。 歷時 1 年多緊鑼密鼓的開發(fā),以及愉快而忙碌的春節(jié)假期,期間 github star 數(shù)從 500 到快破 1k,碼云首頁推薦,Swoole作者 Rango ...
摘要:介紹是基于開發(fā)的協(xié)程開發(fā)框架,擁有常駐內(nèi)存協(xié)程異步非阻塞等優(yōu)點(diǎn)。宇潤我在年開發(fā)并發(fā)布了第一個框架,一直維護(hù)使用至今,非常穩(wěn)定,并且有文檔。于是我走上了開發(fā)的不歸路 showImg(https://segmentfault.com/img/bVbcxQH?w=340&h=160); 介紹 IMI 是基于 Swoole 開發(fā)的協(xié)程 PHP 開發(fā)框架,擁有常駐內(nèi)存、協(xié)程異步非阻塞IO等優(yōu)點(diǎn)。...
摘要:年開發(fā)并發(fā)布框架現(xiàn)已停止維護(hù)。經(jīng)過一年實(shí)戰(zhàn),年月日,一周年之際正式發(fā)布版本。宇潤部分開源項(xiàng)目我已通過碼云平臺,向項(xiàng)目力所能及地捐款,聊表心意。所以,目前主打的還是單體應(yīng)用開發(fā)。協(xié)議的開發(fā),也是帶來的一大優(yōu)勢。 imi 介紹 showImg(https://segmentfault.com/img/bVbuab9?w=291&h=187); imi 是基于 PHP 協(xié)程應(yīng)用開發(fā)框架,它支...
摘要:三句話說完的話,完善文檔和測試優(yōu)化接口使之能無縫升級到第一個長期支持的,以及可能的話建立基礎(chǔ)的社區(qū)。實(shí)際項(xiàng)目例子代碼在目錄目標(biāo)版本暫時是你能幫上我的試用。 介紹站點(diǎn)還沒做,先直接甩代碼鏈接了 https://github.com/litphp/litphp Lit是什么? Lit是我一直在擼的個人框架,按第一次上傳代碼來說歷史 超過4年 了,從還能支持PHP5.2的第一版開始一直(龜速...
閱讀 3027·2023-04-25 20:22
閱讀 3345·2019-08-30 11:14
閱讀 2597·2019-08-29 13:03
閱讀 3187·2019-08-26 13:47
閱讀 3228·2019-08-26 10:22
閱讀 1274·2019-08-23 18:26
閱讀 620·2019-08-23 17:16
閱讀 1917·2019-08-23 17:01