wbsartori/request-manager

Request Manager 是一个包含 Guzzle 和 PhpCurlClass 库抽象的 PHP HTTP 客户端库

v0.0.4 2023-04-19 20:22 UTC

This package is auto-updated.

Last update: 2024-09-22 16:50:44 UTC


README

要求

Request Management Package requires PHP version 7.3.0 or greater.

安装

To use the package it is necessary to install it via composer:
composer require wbsartori/request-manager

使用 GuzzleRequest 的基本示例

您可以调用 Runner 类,并在 setClient 方法中传入您想要使用的客户端,目前我们的包支持 GuzzleRequet 和 PhpCurlClass,并有一些抽象。

带有基本身份验证的 GET 方法

    use RequestManager\RequestRunner;
    use RequestManager\Http\GuzzleRequestAdapter;
    
    try {
        $url = sprintf('%s%s',
          '/',$router
        );

        $response = (new RequestRunner())
            ->setClient(new GuzzleRequestAdapter())
            ->basicAuth($username, $password)
            ->setHeader($headers)
            ->setUri($uri)
            ->get($url);
    
            echo json_encode($response);

    } catch (Exception $e) {
        echo json_encode([
            'code: ' => $e->getCode(),
            'message: ' => $e->getMessage()
        ]);
    }

带有基本身份验证的 POST 方法

    
    use RequestManager\RequestRunner;
    use RequestManager\Requests\GuzzleRequest;
    
    try {
        $data = [
            [
                'description' => 'description',
                'acronym' => 'acronym'
            ]
         ];
         
        $url = sprintf('%s%s',
            '/', $router
        );
        
        $response = (new RequestRunner())
            ->setClient(new GuzzleRequest())
            ->basicAuth($username, $password)
            ->setHeader(['header' => ''])
            ->setUri($uri)
            ->setData(['multipart' => $data])
            ->post($url);
    
        echo json_encode($response);
    
    } catch (Exception $e) {
        echo json_encode([
            'code: ' => $e->getCode(),
            'message: ' => str_replace('\\', '', $e->getMessage())
        ]);
    }
    

带有基本身份验证的 UPDATE 方法

        
    use RequestManager\RequestRunner;
    use RequestManager\Requests\GuzzleRequest;
    
    try {
        $data = [
            'description' => 'New description',
            'acronym' => 'NA'
        ];
        
        $url = sprintf('%s%s%s%s',
        '/',
            $router,
            DIRECTORY_SEPARATOR,
            30
        );
        
        $response = (new RequestRunner())
            ->setClient(new GuzzleRequest())
            ->basicAuth($username, $password)
            ->setHeader(['header' => ''])
            ->setUri($uri)
            ->setData(['json' => $data])
            ->put($url);
    
        echo json_encode($response);
    
    } catch (Exception $e) {
        echo json_encode([
            'code: ' => $e->getCode(),
            'message: ' => str_replace('\\', '', $e->getMessage())
        ]);
    }
    

带有基本身份验证的 DELETE 方法

        
    use RequestManager\RequestRunner;
    use RequestManager\Requests\GuzzleRequest;
    
    try {
        $url = sprintf('%s%s%s%s',
        '/',
            $router,
            DIRECTORY_SEPARATOR,
            30
        );
    
        $response = (new RequestRunner())
            ->setClient(new GuzzleRequest())
            ->basicAuth($username, $password)
            ->setHeader(['header' => ''])
            ->setUri($uri)
            ->delete($url);
    
        echo json_encode($response);

    } catch (Exception $e) {
        echo json_encode([
            'code: ' => $e->getCode(),
            'message: ' => $e->getMessage()
        ]);
    }

方法

    setClient((new Client));         #Set the Client you want to use, if you don't use this method, Guzzle will be set as default.
    basicAuth($username, $password); #Basic authentication, if not used, the default noAuth will be used.
    bearerTokenAuth($token);         #Bearer token authentication, if not used, the default noAuth will be used.
    setHeader($headers)              #Receives an array of headers from the request if necessary.
    setUri($uri)                     #Get the api host with the slash at the end.
    setData($uri)                    #Receives an array of data if the method needs to pass some value.
    get($url)                        #Receives the route for which you want to fetch data.
    post($url)                       #Get the route for which you want to create data.
    put($url)                        #Get the route for which you want to update data.
    delete($url)                     #Get the route for which you want to delete data.

您可以查看文档以获取使用 Guzzle 和 PHPCurlClass 的示例。

文档

文档和示例链接。

贡献

贡献链接。