国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

$request對象特定數(shù)組的設(shè)置與更新方法

gongaiorg

可以直接在support\Request類里直接添加set方法,框架升級不會被覆蓋

/**
 * 設(shè)置$request數(shù)據(jù),自動覆蓋更新
 * @param array $data
 */
function set(  array $data )
{
    $key = key($data);// 獲取數(shù)組的鍵名
    $rawData = $this->$key ?: [];// 獲取原數(shù)據(jù)
    $data = array_merge($rawData, $data[$key]);// 合并新數(shù)據(jù)
    $this->$key = $data; // 設(shè)置新數(shù)據(jù)
}

使用方法:

在需要設(shè)置更新數(shù)據(jù)的地方直接 $request->set($data);即可

這樣做的好處是可以更新已有的值

909 9 5
9個評論

dj880

非常感謝,正好需要~

  • 暫無評論
liziyu

??

  • 暫無評論
初心by

建議寫一下怎么調(diào)用,不然還得研究一下

<?php

namespace app\middleware;

use Webman\Http\Request;
use Webman\Http\Response;
use Webman\MiddlewareInterface;

/**
 * 處理請求數(shù)據(jù)
 */
class Prdata implements MiddlewareInterface
{

    public function process(Request $request, callable $handler): Response
    {
        $getData = $request->get();
        // 處理get數(shù)據(jù)
        if (!empty($getData)) {
            foreach ($getData as $key => $value) {
                is_string($value) && $getData[$key] = trim($value);
            }
            // 設(shè)置get數(shù)據(jù)
            request()->set([
                '_data' => [
                    'get' => $getData
                ]
            ]);
        }
        // 請求繼續(xù)向洋蔥芯穿越
        $response = $handler($request);
        return $response;
    }
}
  • 暫無評論

中間件中,我直接這樣也行啊

public function process(Request $request, callable $next): Response
{
    $request->Webman = 'study'; //這樣用
    return $next($request);
}
  • 2024-09-18

    在控制器中用 $request->Webman ; 這種方式接收

截圖

截圖

截圖

  • 初心by 2024-09-18

    你用 request()->get() 這個獲取一下

  • 初心by 2024-09-18

    可能我們的應(yīng)用場景不一樣吧.. 我想要的是 修改 get() post() 得到的數(shù)據(jù),不是直接去獲取對應(yīng)字段

  • 2024-09-18

    這不是http傳參啊,get / post當然獲不到了

  • 初心by 2024-09-18

    那之前本來就可以直接賦值啊,用set函數(shù)的意義,我覺得應(yīng)該就是可以修改 get、post 獲取的值

阿沁

非常好用

  • 暫無評論
efnic

\Workerman\Protocols\Http\Request::__set

\Workerman\Protocols\Http\Request::__get
本身就支持給請求對象賦值。
客戶端get、post過來的參數(shù),建議不要修改。

  • efnic 2024-10-27

    宏指令:\Illuminate\Support\Traits\Macroable
    或者根據(jù)應(yīng)用與業(yè)務(wù),給\support\Request附加特性 trait 來實現(xiàn)代碼提示。

efnic

例如,我這個項目給請求類附加的特性有,普通用戶、開放APi、商戶等。
給請求類附加特性

  • shiroi 2024-10-30

    你寫的沒啥問題,代碼規(guī)范是對的

阿沁

上面方法 有問題 舊的請求數(shù)據(jù)都沒了

以下方法不會銷毀舊的數(shù)據(jù)

  /**
     * 設(shè)置$request數(shù)據(jù),自動覆蓋更新
     * @param string $method
     * @param array $data
     */
    function set(string $method, array $data)
    {
        $method = strtolower($method);
        $newData = $this->_data; // 復(fù)制原始數(shù)據(jù)
        $newMethodData = array_merge($newData[$method] ?? [], $data); // 合并特定方法的數(shù)據(jù)
        $this->_data[$method] = $newMethodData; // 更新對象數(shù)據(jù)
    }
  • 暫無評論

gongaiorg

-60
積分
0
獲贊數(shù)
0
粉絲數(shù)
2022-03-18 加入
??