lavarel 響應(yīng)

      網(wǎng)友投稿 682 2025-04-05

      宏的概念

      計算機(jī)里的宏是批量處理的意思。比如我們在進(jìn)行文本編輯的時候,打錯字會有回退的功能——control+z;但是這是我們的鍵盤操作,計算機(jī)在進(jìn)行處理的時候是不能理解的,他必須對最近兩次操作進(jìn)行比對,然后撤銷最近一次操作的修改,然后展示文本。計算機(jī)雖然不理解control+z是什么意思,但是一定有一個預(yù)定義是在他遇到control+z的時候進(jìn)行上述的操作。這種根據(jù)預(yù)定義的規(guī)則對頻繁使用的一系列命令和序列轉(zhuǎn)換成對應(yīng)的輸出(面對計算機(jī))的定義叫做叫做宏。這種替換一般都在預(yù)編譯的時候進(jìn)行,稱為宏展開;其實windows的圖形界面交互就是頻繁的使用宏,進(jìn)行一系列的計算機(jī)操作,這一點類似封裝,對頻繁使用的操作封裝成函數(shù),使用時直接輸入簡短的函數(shù)名和參數(shù),服務(wù)器就自動完成一些列的操作;

      lavarel 的響應(yīng)宏

      在編程的過程中可能經(jīng)常用到一些特定的響應(yīng),這時候我們需要自定義響應(yīng)宏把這些頻繁的操作封裝起來,再次使用的時候直接調(diào)用;

      (1)需要在\App\Providers 文件夾下新建一個服務(wù)提供者類似ResponseServiceProvider:

      namespace App\Providers;

      use Illuminate\Support\Facades\Response;

      use Illuminate\Support\ServiceProvider;

      class ResponseServiceProvider extends ServiceProvider

      {

      /**

      * Perform post-registration booting of services.

      *

      * @return void

      */

      public function boot()

      {

      Response::macro('upper', function ($value) {

      return Response::make(strtoupper($value));

      });

      }

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      17

      18

      19

      20

      21

      (2)macro方法接受的第一個參數(shù)就是定義的響應(yīng)名稱,第二個參數(shù)是一個閉包函數(shù),響應(yīng)宏的閉包在 ResponseFactory 實現(xiàn)類或輔助函數(shù) response 中調(diào)用宏名稱的時候被執(zhí)行:

      Route::get('upper/response', function() {

      return response()->upper('ppsty');

      });

      1

      2

      3

      4

      這樣返回的響應(yīng)就是響應(yīng)宏處理后的結(jié)果;

      3.如果我們在與前端的交互種需要特定的響應(yīng)數(shù)據(jù),

      比如json格式的數(shù)據(jù):

      {'isError'=>true,'isSuccess'=>false,'error'=>$error,'code'=> $code,'data'=>[],}

      (1)這樣我們就需要對響應(yīng)進(jìn)行格式封裝:

      namespace App\Providers;

      use Illuminate\Support\Facades\Response;

      use App\Services\AjaxResponse;

      use Illuminate\Support\ServiceProvider;

      class ResponseServiceProvider extends ServiceProvider

      {

      /**

      * Perform post-registration booting of services.

      lavarel 響應(yīng)宏

      *

      * @return void

      */

      public function boot()

      {

      Response::macro('toBeJson', function ($msg = [], $code = 200, $sStatus = 200, array $xHeaders = [], $sOptions = 0) {

      return response()->json(AjaxResponse::ajax($msg, $code), $sStatus, $xHeaders, $sOptions);

      });

      }

      }

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      17

      18

      19

      20

      21

      22

      23

      (2)對格式的操作需要新建一個AjaxResponse,把對格式的規(guī)范寫到里面:

      class AjaxResponse

      {

      public static function toBeJson($msg, $code = 400)

      {

      return [

      'isError' => false,

      'isSuccess'=> true,

      'msg' => $msg,

      'code' => $code,

      'data' => [],

      ];

      }

      }

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      這樣返回的就是規(guī)范之后的響應(yīng)返回;

      https://blog.csdn.net/weixin_38674371/article/details/78459277?locationNum=1&fps=1

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:WPS演示2013中插入圖片之后快速改變圖片形狀的方法
      下一篇:WPS是崩潰響應(yīng),使用格式刷的時候,和他自動保存?zhèn)浞莸臅r候,老是突然就自動保存了,保存也就算了,他
      相關(guān)文章
      亚洲一区二区三区电影| 亚洲成av人片在线观看无码不卡| 日本亚洲视频在线| 亚洲精品成人在线| 亚洲精品成a人在线观看夫| 亚洲一区二区三区免费在线观看| 亚洲成电影在线观看青青| 亚洲精品美女久久久久| 亚洲综合在线视频| 91情国产l精品国产亚洲区| 亚洲欧洲日韩不卡| 久久丫精品国产亚洲av| 久久久无码精品亚洲日韩京东传媒 | 久久精品国产亚洲精品| 亚洲欧洲日产国码一级毛片 | 亚洲福利中文字幕在线网址| 亚洲第一区精品日韩在线播放| 亚洲?V无码成人精品区日韩| 亚洲成a人片在线观看久| 亚洲AV成人潮喷综合网| 一级毛片直播亚洲| 亚洲精品国产福利一二区| 国产成人毛片亚洲精品| 国产亚洲精品国看不卡| 亚洲日本一区二区三区在线| 狠狠色伊人亚洲综合成人| 久久精品国产99精品国产亚洲性色| 亚洲AV人人澡人人爽人人夜夜| 亚洲精品综合一二三区在线| 亚洲综合综合在线| 国产.亚洲.欧洲在线| 亚洲久热无码av中文字幕| 337P日本欧洲亚洲大胆艺术图| 午夜在线亚洲男人午在线| 国产精品亚洲综合专区片高清久久久 | 亚洲天堂2017无码中文| 亚洲精华国产精华精华液| 亚洲AV无码一区二区一二区| 亚洲精品国产电影| 亚洲AV无码不卡无码| 亚洲春色另类小说|